как ввести массив с клавиатуры в паскале? через цикл что-то не выходит
Надо чтобы пользователь сам вводил числа в массив, а я не пойму как readln в цикл засунуть. У меня вводится только одно число и всё, остальные нули.
var
a: array[1..5] of integer;
i: integer;
begin
readln(a);
for i := 1 to 5 do
writeln(a[i]);
end.
Как заставить его прочитать все 5?
2 ответа
Тебе надо читать каждый элемент отдельно, тоже в цикле. readln(a) целиком массив не прочитает. Вот так:
var
a: array[1..5] of integer;
i: integer;
begin
writeln('Введите 5 чисел:');
for i := 1 to 5 do
read(a[i]);
for i := 1 to 5 do
writeln('a[', i, '] = ', a[i]);
end.
Логика: цикл пробегает индексы от 1 до 5, и на каждом шаге read(a[i]) кладёт введённое число в ячейку с этим номером.
Маленький совет: я взял read, а не readln — тогда числа можно вводить в одну строку через пробел (5 8 2 1 9 и Enter). Если поставить readln — каждое с новой строки. Оба варианта рабочие, бери что удобнее.
у меня была та же беда, помогло понять что массив сам по себе не умный, его надо заполнять по ячейкам. цикл for + a[i] — твои друзья на ближайший год)