Массив, в котором количество элементов заранее неизвестно - Free Pascal
Формулировка задачи:
Добрый день!
Подскажите пожалуйста, как сделать массив, в котором количество элементов заранее неизвестно. То есть в массив будут вводится числа через пробел, и затем нажимается ENTER. И как потом вывести количество элементов в массиве?
Решение задачи: «Массив, в котором количество элементов заранее неизвестно»
textual
Листинг программы
var
a:array of integer;
i,k,n:integer;
begin
k:=0;
setlength(a,k+1);
while not eoln do
begin
read(a[k]);
inc(k);
setlength(a,k+1);
end;
writeln('Количество чисел: ',k);
for i:=0 to k-1 do
write(a[i]:3);
readln;
end.
Объяснение кода листинга программы
- Объявляются переменные:
a(массив целых чисел),i,k,n(целые числа). - Устанавливается начальное значение
kравным 0. - Устанавливается длина массива
aравнойk+1. - Запускается цикл while, который выполняется до тех пор, пока не будет достигнут конец файла (eoln).
- Внутри цикла считывается число и записывается в массив
aпо индексуk. - Увеличивается значение
kна 1. - Устанавливается длина массива
aравнойk+1. - По завершении цикла выводится количество чисел в массиве
k. - Запускается цикл for, который выполняется от 0 до
k-1. - Внутри цикла выводится значение элемента массива
aпо индексуiс использованием функции write(a[i]:3). - Запрашивается ввод с помощью функции readln.