Ошибка времени выполнения: Индекс находился вне границ массива...чтто не так? 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:=...

Ошибка времени выполнения: Индекс находился вне границ массива...чтто не так? 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.
Гость
Ответ(ы) на вопрос:
Гость
Обратите внимание на цикл 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 (это допустимо)
Не нашли ответ?
Ответить на вопрос
Похожие вопросы