Вопрос по информатике:
Ошибка времени выполнения: Индекс находился вне границ массива...чтто не так?
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.
- 04.03.2018 13:23
- Информатика
- remove_red_eye 10696
- thumb_up 16
Ответы и объяснения 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 (это допустимо)
- 05.03.2018 09:04
- thumb_up 21
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.