Có rất nhiều bài toán sử dụng phương pháp sắp xếp. trong tài liệu sẽ giới thiệu về 1 bài toán tiêu biểu là cho nhập vòa 1 mãng 1 chiều, sắp xếp các số chắn theo chiều tăng dần và in ở đầu mãng và sắp xếp các số lẽ theo chiều tăng dần in liền kề. Chương trình được xây dựng rõ ràng. Hi vọng người đọc học thêm được về cách viết 1 chương trình, sao cho mọi người có thể hiểu được . hi hi hi
Trang 1Đề : Viết chương trình nhập chương trình Sắp xếp như in chẵn trước lẽ sau và sắp xếp
theo chiều tăng dần
n = 8
1 5 4 9 2 32 1241 98
2 4 32 98 1 5 9 1241
Mã nguồn:
program tuan_suat;
uses crt;
const max =100;
type mang =array[1 max] of integer;
var a: mang;
n:integer;
procedure nhap(var a:mang ; n:integer );
var i:integer;
begin
for i:=1 to n do
begin
write('a[',i,']='); readln(a[i]);
end;
end;
function kiemtra(var x,y: integer):integer;
begin
kiemtra := 0;
if (x mod 2 = 1) and (y mod 2 = 0) then kiemtra:= 1;
if ((x+y) mod 2 = 0) and (x > y) then kiemtra:= 1;
end;
procedure sapxep(var a:mang ; n:integer );
var
i,j:integer;
temp:integer;
begin
for i:= 1 to n-1 do
begin
for j:= i+1 to n do
if (kiemtra(a[i],a[j]) = 1) then
begin
temp := a[i];
a[i] := a[j];
a[j] := temp;
end;
end;
for i:= 1 to n do write(a[i]:4);
Trang 2begin
readln(n); nhap(a,n); sapxep(a,n); readln; end