gerafsfd
Опубликовано 3 года назад по предмету Информатика от gerafsfd


Помогите пожалуйста: Ошибка времени выполнения: Индекс находился вне границ массива. (Не могу найти ошибку) const n=5; var a,b:array[1..n] of integer; i,j:byte; begin for i:=1 to n do begin write('Введите ',i,'-ый(ой) эелемент массива = '); readln(a[i]); end; writeln; writeln(' Массив "А"'); for i:=1 to n do write(' |',a[i],'|'); writeln; j:=0; for i := 1 to n do begin if (b[j]>0) and (b[j] mod b[j]=0) and (b[j] mod 1 =b[j]) then begin inc(j); b[j] := a[i]; end; end; writeln; writeln(' Массив "B"'); for i := 1 to j do write(' |',a[i],'|'); writeln; end.

  1. Ответ
    Ответ дан Blogger76
    Обратите внимание на цикл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 (это допустимо)
    1. Ответ
      Ответ дан gerafsfd
      там ошибка заключается в переходе границ массива, но я её не могу найти. В Writeln верно всё же.
    2. Ответ
      Ответ дан Blogger76
      щас исправлю секунду
    3. Ответ
      Ответ дан Blogger76
      Обратите внимание на цикл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 (это допустимо)Подробнее - на Znanija.com - https://znanija.com/task/15699228#readmore
    4. Ответ
      Ответ дан gerafsfd
      у меня в массиве нету c:array[1..n,1..n+1] of integer, у меня вообще одномерный массив)
    5. Ответ
      Ответ дан gerafsfd
      у меня нужно перевести элементы с массива А в В, (переводить только те числа, которые являются неотрицательными и простыми.)
Не тот ответ, который вам нужен?
Найди нужный
Самые новые вопросы
Bona23
Литература - 15 минут назад

Задай вопрос