Найти минимальную характеристику в матрице

Характеристикой столбца прямоугольной матрицы m*n является максимальный элемент этого столбца.Составить подпрограмму для вычисления минимальной характеристики в прямоугольной матрице. Найти минимальную характеристику в матрице А(4*5) и В(4*3). Элементы матрицы брать произвольно. Задача с использованием функционального типа.

code: #pascal
Program Func_type;
uses crt;
type
     Tmatr=array[1..10,1..10] of integer;
     Tmass=array[1..10]of integer;
     FMax=function(a:Tmatr;m,n:integer):integer;
     FMin=function(a:Tmass;n:integer):integer;
var ma,na,mb,nb,i,j,min:integer;
    a,b:Tmatr;
    c:Tmass;
    {$F+}
function MaxStb(a:Tmatr;m,n:integer):integer;
var k,max:integer;
begin
  for i:=1 to m do
    begin
      max:=a[1,j];
      for k:=2 to m do
         begin
           if a[k,j]>max then
               begin
                 max:=a[k,j];
               end;
         end;
    MaxStb:=max;
    end;
end;
function MinEl(a:Tmass;n:integer):integer;
begin
  min:=a[1];
  for i:=2 to n do
         begin
           if c[i]<min then
               begin
                 min:=c[i];
               end;
         end;
  MinEl:=min;
end;
{$F-}
procedure MinChar(a:Tmatr;m,n:integer;F1:Fmax;F2:Fmin);
begin
for j:=1 to n do
  begin
    c[j]:=F1(a,m,n);
  end;
writeln('max elem v stb matr:');
for i:=1 to n do
  write(c[i],' ');
  writeln;
readln;
min:=F2(c,n);
writeln('MinChar matr=',min);
readln;
end;
begin
clrscr;
write('ma=');readln(ma);
write('na=');readln(na);
write('mb=');readln(mb);
write('nb=');readln(nb);
randomize;
writeln('matrix A:');
for i:=1 to ma do
  begin
    for j:=1 to na do
      begin
        a[i,j]:=random(20);
        write(a[i,j]:3);
      end;
  writeln;
  end;
readln;
MinChar(a,ma,na,MaxStb,MinEl);
writeln('matrix B:');
for i:=1 to mb do
  begin
    for j:=1 to nb do
      begin
        b[i,j]:=random(20);
        write(b[i,j]:3);
      end;
  writeln;
  end;
readln;
MinChar(b,mb,nb,MaxStb,MinEl);
end.

автор: puporev

Поделиться:

Похожие статьи: