Ошибка времени выполнения: индекс находился вне границ не так? const n=30; var i,j,p,q: integer; c: array[1..n,1..n+1] of integer; a: array[1..n+1] of integer; b: array[1..n+1] of integer; begin readln(q,p); for i: =1 to n do for j: =1 to n+1 do c[i,j]: =random(28)+1; begin for i: =1 to n+1 do p: =random(28)+1; end; for j: =1 to n+1 do begin q: =random(28)+1; end; for i: =n downto p do// вставка p for j: =1 to n+1 do// c[i+1,j]: =c[i,j]; // for j: =1 to n+1 do c[p,j]: =a[i]; for j: =n+1 downto q do for i: =1 to n+1 do c[i,j+1]: =c[i,j]; for i: =1 to n+1 do c[i,q]: =b[i]; for i: =1 to n+1 do begin for j: =1 to n+1 do write(c[i,j]: 2); writeln; // end; end.

Мозговина12 Мозговина12    1   12.07.2019 09:10    0

Ответы
amina322 amina322  18.09.2020 10:24
Обратите внимание на цикл
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 (это допустимо)
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика