В заданной матрице размером N*N с помощью функции обеспечить поиск строки или столбца с минимальным числом нулевых элементов — Pascal(Паскаль)

Вывести исходную матрицу и результат её обработки с указанием номеров искомых столбца или строки

program PascalGuru;

var
  A: array [1 .. 50, 1 .. 50] of integer;
  i, j, n: integer;

  { ----------------------------------------------------------------------------- }
function n_row: integer; { nomer -stroki- s MAX chislom "0" el-ov }
var
  i, j, rez: integer;
  ccount, min: integer;
begin
  ccount := 0;
  for j := 1 to n do
    if A[1, j] = 0 then
      inc(ccount);
  rez := 1;
  min := ccount;

  for i := 2 to n do
  begin
    ccount := 0;
    for j := 1 to n do
      if A[i, j] = 0 then
        inc(ccount);
    if ccountthen begin rez := i;
      min := ccount;
  end;
end;

n_row := rez;
end;

{ ----------------------------------------------------------------------------- }
function n_column: integer; { nomer -stolbca- s MAX chislom "0" el-ov }
var
  i, j, rez: integer;
  ccount, min: integer;
begin
  ccount := 0;
  for i := 1 to n do
    if A[i, 1] = 0 then
      inc(ccount);
  rez := 1;
  min := ccount;

  for j := 2 to n do
  begin
    ccount := 0;
    for i := 1 to n do
      if A[i, j] = 0 then
        inc(ccount);
    if ccountthen begin rez := j;
      min := ccount;
  end;
end;

n_column := rez;
end;
{ ----------------------------------------------------------------------------- }

begin
  write('N= ');
  readln(n);

  for i := 1 to n do
    for j := 1 to n do
    begin
      write('A[', i, ',', j, ']=');
      readln(A[i, j]);
    end;

  for i := 1 to n do
  begin
    writeln;
    for j := 1 to n do
      write(A[i, j]:8);
  end;
  { ****************************************** }
  writeln;
  writeln;
  if n_column()() then
    writeln('V ', n_column(), ' stolbce MIN kol-vo "0"')
  else
    writeln('V ', n_row(), ' stroke MIN kol-vo "0"');

  readln;

end.

Leave a Comment

6 + 4 =