Что тут неправильно ? var a: array[1..10,1..10] of integer; i,m,n,j,k: integer; s: real; begin write ('m='); readln(m); write('n='); readln(n); for i: =1 to m do for j: =1 to n do a[i,j]: =random(50); for i: =1 to n do begin for j: =1 to m do write(a[i,j]: 4); writeln; end; for i: =0 to m do begin for j: =0 to n do begin if a[i][j]=0 then begin a[i][j]: =i+j; end; end; end; a[i,j]: =k; writeln('k=',k); end. дан массив. изменить массив по следующему правилу все нулевые элементы заменить суммой индексов элемента;

VikaYastremska VikaYastremska    2   09.06.2019 08:20    3

Ответы
Zhuldyz2005 Zhuldyz2005  01.10.2020 22:57
Var a :array[1..10,1..10] of integer;
ПОКАЗАТЬ ОТВЕТЫ
guest246 guest246  01.10.2020 22:57
Ты объявила массив от 1 до 10, а в конце в цикле пытаешься обратиться к элементу с индексом 0!
 (for i:=0 to m do
begin for j:=0 to n do)
Ну и куча мелких недочетов еще тут есть

const
  n=5;
  m=6;
var
  a:array[1..n,1..m] of integer;
  i,j: integer;
begin
writeln('Исходный массив:');
for i:=1 to n do
   begin
   for j:=1 to m do
     begin
     a[i,j]:=random(10);
     write(a[i,j]:4);
     end;
   writeln;
   end;
writeln('Измененный массив:');
for i:=1 to n do
   begin
   for j:=1 to m do
     begin
     if a[i,j]=0 then a[i,j]:=i+j;
     write(a[i,j]:4);
     end;
   writeln;
   end;
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика