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

Ответы 3

  • Откуда же я знаю, что надо? Зависит от того, каков алгоритм. Вы просили указать место ошибки и причину - я указал. А для того, чтобы ответить на вопрос о том, как это все должно быть на самом деле - это надо знать исходную постановку задачи и проверять, насколько заложенный алгоритм ей соответствует. Это совсем уже другая задача....
  • ясно .спасибо.матрица прросто дана nxn+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 (это допустимо)
    • Автор:

      zoeyxpdm
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years