Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ величина массива

Автор: compiler 8.04.2007 17:02

Добрый день!
есть ли функция возвращающая величину массива(одномерного) то есть количество элементов массива?
если нету то как ее можна реализовать?
Заранее благодарен.

Автор: klem4 8.04.2007 17:37

Какой компилятор ?

Автор: volvo 8.04.2007 17:53

Цитата
Какой компилятор ?
Какая разница? High(X) никто не отменял...

Автор: мисс_граффити 8.04.2007 21:48

no1.gif

var ar: array[5..10] of integer;

begin
writeln(High(ar));
end.

Что выдаст? (проверяла на TP 7.0)
а нам надо
Цитата
количество элементов массива

Автор: volvo 8.04.2007 22:16

а

writeln(High(ar) - Low(ar) + 1);

что выдаст? smile.gif

Я ж не буду давать полностью готовый ответ, правда? Если уж речь про High, то логично, что (поскольку это не С), у массива кроме верхней границы есть еще и нижняя...

Автор: compiler 8.04.2007 23:28

всем спасибо!

Автор: klem4 8.04.2007 23:44

Всетаки не для всех случаев это годится, например

x: array ['a'..'d'] of Byte;

Автор: compiler 8.04.2007 23:49

вот же оно

Код
The Low function on a dynamic array will always return 0, and the High function will return the value Length-1, i.e., the value of the highest allowed array index. The Length function will return the number of elements in the array.

мануал
а с символами незнаю как... но мне и не надо(пока)

Автор: мисс_граффити 8.04.2007 23:53

а в каком месте твой array будет dynamic?
речь вроде как про паскаль, а не делфи. про компилятор ты не отвечаешь...

Автор: volvo 8.04.2007 23:59

Цитата
Всетаки не для всех случаев это годится

writeln(Ord(High(ar)) - Ord(Low(ar)) + 1);


Кто еще какие извращения придумает?

Автор: compiler 9.04.2007 15:55

Цитата(мисс_граффити @ 8.04.2007 19:53) *

а в каком месте твой array будет dynamic?
речь вроде как про паскаль, а не делфи. про компилятор ты не отвечаешь...
я вообще пользуюсь FP но стремлюсь что б мой код был совместим с TP...
а цитата была с документации по FP...