Регистрация
Войти
Стать экспертом Правила
Информатика

Дан массив D(n,m) . Написать программу обнуления сток и столбцов , в которых есть хотя бы одно значение = 0. Можно использовать дополнительный массив.

ОТВЕТЫ
Const
  nn=20;
var
  d:array[1..nn,1..nn] of integer;
  zr,zc:array[1..nn] of boolean; { строки и столбцы }
  n,m,i,j,nr,nc:integer;
begin
  Write(Укажите n и m: ); Read(n,m);
  Randomize;
  Writeln(И с х о д н ы й   м а с с и в);
  nr:=0; nc:=0;
  for i:=1 to n do zr[i]:=False;
  for j:=1 to m do zc[j]:=False;
  for i:=1 to n do begin
    for j:=1 to m do begin
      d[i,j]:=Random(21)-10;
      Write(d[i,j]:4);
      if d[i,j]=0 then begin zr[i]:=True; zc[j]:=True end;
      end;
    Writeln
    end;
  for i:=1 to n do
    if zr[i] then
      for j:=1 to m do d[i,j]:=0;
  for j:=1 to m do
    if zc[j] then
      for i:=1 to n do d[i,j]:=0;
  Writeln(М а с с и в - р е з у л ь т а т);
  for i:=1 to n do begin
    for j:=1 to m do Write(d[i,j]:4);
    Writeln
    end
end.

Пример
Укажите n и m: 7 12
И с х о д н ы й   м а с с и в
 -10   8  -4  -3  -8   9   1  -6   4  -6   5  -1
  -8  -2  -8  -7  -3  -1   4   4   5  -1   7  -6
   8  -5   8  -1  -8   9   8  -4  -6  -2   0   4
   7  -4   8  -9   3   2   9   3   3   6   9   4
   9  -3   8   8  -4   9   7   2 -10  -8  -1   8
 -10  -8  -8   6  -4  -2  -6   4   8  -1  -3  -9
   2   2  -9  -7   0  -6   2  -9  -4  -6   0   5
М а с с и в - р е з у л ь т а т
 -10   8  -4  -3   0   9   1  -6   4  -6   0  -1
  -8  -2  -8  -7   0  -1   4   4   5  -1   0  -6
   0   0   0   0   0   0   0   0   0   0   0   0
   7  -4   8  -9   0   2   9   3   3   6   0   4
   9  -3   8   8   0   9   7   2 -10  -8   0   8
 -10  -8  -8   6   0  -2  -6   4   8  -1   0  -9
   0   0   0   0   0   0   0   0   0   0   0   0
150
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам