Предмет: Информатика, автор: polinacistaa1253

паскаль выдает ошибку - индекс находился вне границ массива. что с этим делать?

program polychivebalo;

type results = record

surname : string [15];

age : 14..16;

ves : 35 .. 68;

rost: 150 .. 197

end;

var list: array[1..5] of results;

i : integer; F1, F2, F3: text;

begin

assign(F1, 'infa.txt');

assign(F2, 'rost.txt');

assign(F3, 'ves.txt');

reset(F1);

rewrite(F2);

rewrite(F3);

Readln(F1); Readln(F1);

for var a:integer:= 1 to 5 do

Readln(F1,list[i].surname); (здесь выдает ошибку)

for i:=1 to 5 do

if(list[i].ves <=60)

then

begin

writeln(list[i].surname, list[i].age,list[i].ves);

writeln(F3,list[i].surname, list[i].age,list[i].ves)

end;

close(F1); close(F2)

end.

Ответы

Автор ответа: Puz1koO
1

Не ту переменную указал(сначала твой блок, затем исправление):

Без исправления:

for var a:integer:= 1 to 5 do

Readln(F1,list[i].surname); (здесь выдает ошибку)

Исправление

for var a: integer:=1 to 5 do

Readln(F1,list[a].surname);

Если моё решение вам помогло, отметьте его как лучшее. Спасибо! Удачи!


polinacistaa1253: я уже разобралась, но спасибо!
Похожие вопросы
Предмет: Русский язык, автор: роол21