Вопрос задан 12.05.2019 в 14:59. Предмет Информатика. Спрашивает Габидулина Аня.

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

значение =0. Можно использовать дополнительный массив.
0 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
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

Вот пример программы на языке Python, которая решает данную задачу:

```python def zero_out_rows_and_columns(matrix): rows = len(matrix) cols = len(matrix[0])

# Создаем дополнительные массивы для отслеживания строк и столбцов, которые нужно обнулить zero_rows = [False] * rows zero_cols = [False] * cols

# Проходим по всем элементам матрицы и отмечаем строки и столбцы с нулевыми значениями for i in range(rows): for j in range(cols): if matrix[i][j] == 0: zero_rows[i] = True zero_cols[j] = True

# Обнуляем строки for i in range(rows): if zero_rows[i]: for j in range(cols): matrix[i][j] = 0

# Обнуляем столбцы for j in range(cols): if zero_cols[j]: for i in range(rows): matrix[i][j] = 0

return matrix

# Пример использования matrix = [ [1, 2, 3], [4, 0, 6], [7, 8, 9] ]

result = zero_out_rows_and_columns(matrix) print(result) ```

В данном примере, функция `zero_out_rows_and_columns` принимает матрицу в качестве аргумента и возвращает матрицу, в которой все строки и столбцы, содержащие нулевые значения, обнулены. Вывод программы будет следующим:

``` [[1, 0, 3], [0, 0, 0], [7, 0, 9]] ```

В данном случае, строка 2 и столбец 1 содержат нулевые значения, поэтому они были обнулены.

Примечание: Приведенный пример программы на языке Python является одним из возможных решений данной задачи. В зависимости от требований и ограничений, возможно, потребуется внести некоторые изменения в программу.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос