Если в строке матрицы есть хотя бы один нулевой элемент, то найти произведение всех ненулевых элементов - Turbo Pascal

Формулировка задачи:

Задана матрица Z(5,5). Если в строке есть хотя бы один нулевой элемент, то найти произведение всех ненулевых элементов, стоящих справа от первого нулевого и заменить полученным значением последний элемент данной строки. Заменяемые значения вывести в массив В. Вывести на экран полученную матрицу и массив B. Буду признателен за любую помощь.


textual

Код к задаче: «Если в строке матрицы есть хотя бы один нулевой элемент, то найти произведение всех ненулевых элементов - Turbo Pascal»

const m = 5;
 
var z: array [1..m, 1..m] of integer;
    b: array [1..m] of integer;
    i, j, k: integer;
    f: boolean;
 
begin
  randomize;
  writeln('Source array Z:');
  for j := 1 to m do
    begin
      for i := 1 to m do
        begin
          z[i, j] := random(18) - 9;
          write(z[i, j]:7)
        end;
      writeln
    end;
  for j := 1 to m do
    begin
      f := false;
      b[j] := 0;
      for i := 1 to m do
        case f of
          true: if z[i, j] <> 0 then b[j] := b[j] * z[i, j];
          false: if (z[i, j] = 0) and (j <> m)
                   then begin
                     f := true;
                     b[j] := 1;
                   end
        end;
      if f then z[m, j] := b[j]
    end;
  writeln('Result array Z:');
  for j := 1 to m do
    begin
      for i := 1 to m do write(z[i, j]:7);
      writeln
    end;
  writeln('Array B:');
  for i := 1 to m do write(b[i]:7);
  readln
end.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

9   голосов, оценка 3.889 из 5

Источник
Похожие ответы