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.