Вопрос задан 17.06.2023 в 00:42. Предмет Информатика. Спрашивает Марупов Артём.

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

polychivebalo;type results = record surname : string [15];age : 14..16;ves : 35 .. 68;rost: 150 .. 197end;var list: array[1..5] of results;i : integer; F1, F2, F3: text;beginassign(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 doReadln(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.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Каретин Данил.

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

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

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);

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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Ошибка "индекс находился вне границ массива" возникает в данном коде из-за того, что при чтении значений в массив list, используется переменная a, которая не объявлена и не используется в коде.

Для исправления этой ошибки, нужно заменить переменную a на переменную i в цикле чтения значений в массив. Измененный код будет выглядеть следующим образом:

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 i := 1 to 5 do Readln(F1, list[i].surname); for i := 1 to 5 do

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос