Задать вопрос
10 мая, 23:16

Ошибка времени выполнения: Индекс находился вне границ массива ... чтто не так?

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.

+4
Ответы (1)
  1. 11 мая, 00:08
    0
    Обратите внимание на цикл

    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 (это допустимо)
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Ошибка времени выполнения: Индекс находился вне границ массива ... чтто не так? const n=30; var i, j, p, q:integer; c:array[1 ... n, 1 ... ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Сделать так чтобы Writeln был заменен другим словом и повторялься не больше двух раз program choise; var N_M:integer; writeln (' введи номер месяца ') ; readln (N_M) ; case N_M of 1:writeln (' январь ') ; 2:writeln (' февраль ') ;
Ответы (1)
Как сделать теперь без массива (паскале) ? var nm:array of integer; j, l:integer; begin nm: = new integer[3] (random (20), random (20), random (20)) ; writeln ('nm[0] = ', nm[0]) ; writeln ('nm[1] = ', nm[1]) ; writeln ('nm[2] = ', nm[2]) ;
Ответы (1)
Const n=5; var a:array[1 ... n] of integer; b:array[1 ... 10000] of integer; i, j:integer; begin for i:=1 to n do begin a[i]:=random (100) ; write (a[i]:4) ; end; for i:=1 to n do begin if (i mod 2=1) and (i div i=1) and (i div 1=i) then b[j]:=i;
Ответы (1)
Что не так? (процедура обязательна) procedure random (k:integer) ; var a:array[1 ... 100] of integer; var l:integer; begin for l:=1 to k do begin a[l]:=random (100) ; writeln (a[l]) ; end; end; var v:integer; begin write ('Сколько будет чисел?
Ответы (2)
Файл, полное имя которого было C:/doc/referat. doc, сохранили в подкаталоге txt корневого каталога диска E. Каково полное имя сохранённого файла? а) E:/txt/doc/referat. doc б) E:/doc/txt/referat. doc в) E:/doc/referat. doc д) E:/tht/referat. doc
Ответы (1)