Предмет: Информатика,
автор: gerafsfd
Помогите пожалуйста: Ошибка времени выполнения: Индекс находился вне границ массива. (Не могу найти ошибку)
const
n=5;
var a,b:array[1..n] of integer;
i,j:byte;
begin
for i:=1 to n do
begin
write('Введите ',i,'-ый(ой) эелемент массива = ');
readln(a[i]);
end;
writeln;
writeln(' Массив "А"');
for i:=1 to n do
write(' |',a[i],'|');
writeln;
j:=0;
for i := 1 to n do
begin
if (b[j]>0) and (b[j] mod b[j]=0) and (b[j] mod 1 =b[j]) then
begin
inc(j);
b[j] := a[i];
end;
end;
writeln;
writeln(' Массив "B"');
for i := 1 to j do
write(' |',a[i],'|');
writeln;
end.
Ответы
Автор ответа:
1
Обратите внимание на циклfor i:=n downto p do // вставка p for j:=1 to n+1 do c[i+1,j]:=c[i,j];У Вас массив с описан как c:array[1..n,1..n+1] of integer;В то же время, первый индекс у Вас в цикле меняется от n+1 до p+1 (n+1 выходит за границу), а второй - от 1 до n+1 (это допустимо)
gerafsfd:
там ошибка заключается в переходе границ массива, но я её не могу найти. В Writeln верно всё же.
for i:=n downto p do // вставка p
for j:=1 to n+1 do
c[i+1,j]:=c[i,j];
У Вас массив с описан как c:array[1..n,1..n+1] of integer;
В то же время, первый индекс у Вас в цикле меняется от n+1 до p+1 (n+1 выходит за границу), а второй - от 1 до n+1 (это допустимо)
Подробнее - на Znanija.com - https://znanija.com/task/15699228#readmore
Похожие вопросы
Предмет: Русский язык,
автор: asemaryskulova5
Предмет: Литература,
автор: Аноним
Предмет: Химия,
автор: Sofiaandvasya
Предмет: Математика,
автор: marsuleimanova
Предмет: География,
автор: anyavarnavochka