Lập trình tìm phần tử yên ngựa trong Pascal

PHẦN TỬ YÊN NGỰA

Cho mảng 2 chiều A có kích thước MxN số nguyên. Phần tử A[i,j] được gọi là phần tử yên ngựa nếu nó là phần tử nhỏ nhất trong hàng i đồng thời là phần tử lớn nhất trong cột j.

Em hãy lập chương trình tìm phần tử yên ngựa của mảng A.

Dữ liệu vào: cho file PTYN.INP gồm:

–       Dòng đầu tiên  gồm 2 số M, N (0 ≤ M,N ≤100)

–       M dòng tiếp theo, mỗi dòng gồm có N số nguyên của mảng A

(các giá trị cách nhau ít nhất 1 khoảng cách).

Dữ liệu ra: ghi ra file PTYN.OUT vị trí của các phần tử yên ngựa (nếu có) hoặc dòng thông báo “Không có phần tử yên ngựa”.

Ví dụ:

PTYN.INP PTYN.OUT
3 3

15         3      9

55         4      6

76         1      2

(2,2)

Hoặc :

PTYN.INP PTYN.OUT
3 315         10  555  4      676         1         2 Khong co phan tu yen ngua



































var dem,i,j,m,n,min_i,k:longint;yn:boolean;
  f:text;a:array[1..100,1..100] 






 of longint;
begin
  assign(f,'PTYN.inp');
  reset(f);
  readln(f,m,n);
  for i:=1 to m do
           begin
              for j:=1 to n do read(f,a[i,j] 








);
              readln(f);
           end;
  close(f);
{--------------------------------}
    assign(f,'PTYN.out'); rewrite(f);
dem:=0;
for i:=1 to m do
  begin
    k:=1;min_i:=a[i,1] 

;
    for j:=1 to n do
      if min_i > a[i,j] 

 then
          begin
          min_i:=a[i,j] 




;
          k:=j;
          end;
    yn:=true;
    for j:=1 to m do
      if a[i,k] <a[j,k] 







 then yn:=false;
    if yn then begin
                dem:=dem+1;
                write(f,'(',i,' ',k,')',' ');
               end;
  end;
if dem=0 then write(f,'khong co pt yn');
close(f);
end.

 

Read:   Đề luyện thi HSG Tin 11 – Hà Giang – Kèm code C++
Hình đại diện của người dùng

admin

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *