Задан двухмерный целочисленный массив H размером 8 на 8 элементов. Написать процедуру для определения числа тех строк массива,которые содержат значения,равное общему максимальному — Pascal(Паскаль)

const n=8;
type sq_matr=array[1..n,1..n] of integer;
procedure output_matr(a:sq_matr); {процедура вывода матрицы}
  var i,j:byte;
  begin
    for i:=1 to n do
      begin
        writeln;
        for j:=1 to n do
          write(a[i,j]:5);
      end;
  end;
procedure input_matr(var a:sq_matr); {процедура ввода матрицы}
  var i,j:byte;
  begin
    randomize;
    for i:=1 to n do
      for j:=1 to n do
        a[i,j]:=random(5);
  end;
procedure nums(a:sq_matr; var num:byte); {процедура подсчета строк с максимальным элементом}
  var i,j:byte;
      max:integer;
  begin
    num:=0;
    max:=a[1,1];
    for i:=1 to n do
      for j:=1 to n do
        if max<a[i,j] then
          max:=a[i,j]; {находим максимальный элемент}
    for i:=1 to n do
      begin
        j:=0;
        repeat {в этом цикле оперделяем есть ли максимальный элемент в строке}
          inc(j);
          if a[i,j]=max then inc(num);         
        until (a[i,j]=max) or (j=n);
      end;
  end;
var a:sq_matr;
    num:byte;
begin
input_matr(a);
output_matr(a);
writeln;
nums(a,num);  
writeln;
writeln(num);
end.

Leave a Comment

15 + = 19