Sắp xếp mảng hai chiều trong Pascal

Viết chương trình sắp xếp mảng hai chiều (m hàng, n cột) (m,n <= 100) theo nguyên tắc sau:

Dữ liệu vào file: SORT2.INP dòng đầu chứa m,n, các dòng sau chứa mảng 2 chiều m hàng, n cột

Dữ liệu ra file: SORT2.OUT chứa mảng 2 chiều m hàng, n cột đã sắp xếp

VD:

SORT2.INP SORT2.OUT
4  31    3    52    4    68    7    911 10 12 1    2    34    5    67    8    910 11 12

Bài toán trên có thể thay đổi cách sắp xếp như sau:

var i,j,i1,j1,i2,j2,m,n,TG:longint;
  f:text;a:array[1..100,1..100] of longint;
begin
  assign(f,'Sort2.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);
{--------------------------------}
For i1:=1 to m do
 For j1:=1 to n do
  For i2:=1 to m do
   For j2:=1 to n do
    If a[i1,j1] < a[i2,j2] then
               begin
                TG:=a[i1,j1];
                a[i1,j1]:=a[i2,j2];
                a[i2,j2] := TG;
               end;
{..............................}
assign(f,'Sort2.out');rewrite(f);
for i:=1 to m do
    begin
      for j:=1 to n do write(f,a[i,j]:4,' ');
      writeln(f);
    end;
close(f);
end.

 

Read:   Lập trình đếm số từ trong một văn bản bằng Pascal
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 *