Задача такая:
Дана матрица А[1..4,1..4]. Найти min элемент в 3 строке и max в 4 столбце.
Я сделала так что можно найти min элемент не только в 3 сроке, а в любой другой строке. Тоже касается и max элемента только по столбцам. А мне нужна, чтобы программа была универсальной. То есть еще сделать так, чтобы в этой же программе можно было найти min элемент в любом столбце, а max в любой строке. Как это сделать?
Вот то что сделала.
Program zadacha;
Uses WinCrt;
Type
mas2=array[1..10,1..10] of integer;
Var
A:mas2;
min3,max4:integer;
Procedure FormMatr(na,ma:Byte;Pa,Qa:integer;Var Aa:mas2);
var i,j:Byte;
Begin
For i:=1 to na do
For j:=1 to ma do
Aa[i,j]:=Random(Qa-Pa)+Pa;
End;
Procedure VyvodMatr(na,ma:Byte;Var Aa:mas2);
Var i,j:Byte;
Begin
For i:=1 to na do
begin
For j:=1 to ma do
Write(Aa[i,j]:3,' '); writeLn('');
end;
End;
Function MinMax(Aa:mas2;na,priz,nomer:Byte):Integer;
Var i,j:Byte; min3k,max4k:integer;
Begin
min3k:=Aa[nomer,1];
For j:=1 to na do
If Aa[nomer,j]<min3k then min3k:=Aa[nomer,j];
max4k:=Aa[1,nomer];
For i:=1 to na do
If Aa[i,nomer]>max4k then max4k:=Aa[i,nomer];
Case priz of
0: minmax:=min3k;
1: minmax:=max4k;
end;
End;
Begin
Randomize;
FormMatr(4,4,10,30,A);
WriteLn('Матрица А'); WriteLn;
VyvodMatr(4,4,A); Writeln;
min3:=minmax(A,4,0,3);
max4:=minmax(A,4,1,4);
WriteLn('max4=',max4:3,' min3=',min3:3);
End.