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

Câu hỏi trong lớp Xem thêm