Tìm ra phần tử lớn nhất dòng nhưng nhỏ nhất cột Mảng 2 chiều Dữ liệu vào từ tệp,xuất kết quả ra tệp ai trả lời dc chọn câu hỏi hay nhất và vote 5* ạ
2 câu trả lời
Mình gửi câu trả lời:
Var fi,fo:Text;
A,B:Array[1..100,1..100] Of Longint;
i,j,n,m,Max,Min:Longint;
Begin
Assign(fi,'HOIDAP.inp');Reset(fi);
Assign(fo,'HOIDAP.out');Rewrite(fo);
Readln(fi,n,m);
For i:=1 to n do
For j:=1 to m do
Read(fi,A[i,j]);
For i:=1 to n do
Begin
Max:=Low(Longint);
For j:=1 to m do If A[i,j]>Max then Max:=A[i,j];
For j:=1 to m do If A[i,j]=Max then B[i,j]:=1;
End;
For i:=1 to m do
Begin
Min:=High(Longint);
For j:=1 to n do If A[j,i]<Min then Min:=A[j,i];
For j:=1 to n do If (A[j,i]=Min) and (B[j,i] = 1) then Writeln(fo,j,' ',i);
End;
Close(fi);Close(fo);
End.
Var fi,fo:Text;
A,B:Array[1..100,1..100] Of Longint;
i,j,n,m,Max,Min:Longint;
Begin
Assign(fi,'HOIDAP.inp');Reset(fi);
Assign(fo,'HOIDAP.out');Rewrite(fo);
Readln(fi,n,m);
For i:=1 to n do
For j:=1 to m do
Read(fi,A[i,j]);
For i:=1 to n do
Begin
Max:=Low(Longint);
For j:=1 to m do If A[i,j]>Max then Max:=A[i,j];
For j:=1 to m do If A[i,j]=Max then B[i,j]:=1;
End;
For i:=1 to m do
Begin
Max:=Low(Longint);
For j:=1 to m do If A[i,j]>Max then Max:=A[i,j];
For j:=1 to m do If A[i,j]=Max then B[i,j]:=1;
End;
For i:=1 to m do
Begin
Min:=High(Longint);
For j:=1 to n do If A[j,i]<Min then Min:=A[j,i];
For j:=1 to n do If (A[j,i]=Min) and (B[j,i] = 1) then Writeln(fo,j,' ',i);
End;
Close(fi);Close
#khanhlinhvvvvv