Другие языки программирования и технологии
Как в паскале посчитать сколько в массиве элементов?
Нужно каким-то образом посчитать сколько элементов в данном массиве, я чего-то не нахожу никакой подобной функции.. . Помогите...
Доброго времени суток.
Вы можете узнать только минимальное и максимальное значение индекса с помощью функций Low и High. Зная значения индексов можно определить число элементов. А вот скольким из этих элементов присвоены значения, тут увы.. . Это имеет смысл, когда используется открытый массив в качестве параметра процедуры или функциии
procedure SomrProc(A : array of Integer);
Во всех остальных случаях, как справедливо отмечено, границы известны и задаются либо непосредственно при объявлении массива, либо константами и надобности в определении границ массива нет. Хотя указанные функции вполне применимы.
Удачи!
Вы можете узнать только минимальное и максимальное значение индекса с помощью функций Low и High. Зная значения индексов можно определить число элементов. А вот скольким из этих элементов присвоены значения, тут увы.. . Это имеет смысл, когда используется открытый массив в качестве параметра процедуры или функциии
procedure SomrProc(A : array of Integer);
Во всех остальных случаях, как справедливо отмечено, границы известны и задаются либо непосредственно при объявлении массива, либо константами и надобности в определении границ массива нет. Хотя указанные функции вполне применимы.
Удачи!
Количество элементов в массиве это произведение показателей индексов. Если нужно посчитать количество значимых элементов (не нулевых) , организуются вложенные циклы с перебором элементов, с проверкой на нуль и в случае не совпадения инкримент счётчика. По завершении всех циклов в счетчике показатель количества не нулевых элементов. Также можно проверять на вхожждение в массив любых чисел, в частности количество заложенных в массив кодов той, или иной буквы.
И не найдешь - в паскале массивы описываются заранее, т. е. нельзя применять динамические массивы.. . Таким образом, подразумевается, что программист знает размер массива.. . Допустим:
a: array [1..50] of Integer - массив из 50 элементов типа Integer
b: array [2..10] of Real - массив из 10-2+1=9 элементов типа Real и т. д.
a: array [1..50] of Integer - массив из 50 элементов типа Integer
b: array [2..10] of Real - массив из 10-2+1=9 элементов типа Real и т. д.
Владас Гаубшас
Спасибо!
Николай Елагин
Почему нельзя? А SetLength на что?
Без шансов. Надо либо знать сразу, либо передавать количество элементов массива отдельным параметром, если тебе надо его в функцию запихнуть
high(massiv) размер в Delpi
Похожие вопросы
- помогите решить задачку по информатике на паскале. найти минимальный и максимальный элемент двухмерного массива
- Паскаль: Как удалить все положительные элементы в одномерном массиве?
- паскаль... как открыть произвольный файл и посчитать сколько там данных слов?
- Вопрос по ПаскалюВводится дата (день, месяц, год) необходимо посчитать сколько дней прошло с начала года.
- Help me!Удалить элементы кратные 2. Добавить после каждого нечетного элемента массива элемент со значением 0. си++
- Помогите решить на ПАСКАЛЕ!Увеличить четные числа массива размера N,на исходное значение первого четного числа.
- паскаль, перестановка строк в массиве матрицы. хелп
- Какие у массивов элементы в Javascript?
- напишите программу проверки наличия в массиве элемента с заданным значением?
- Заполнить случайным образом одномерный массив из n элементов и обменять местами последний и максимальный (в паскале)