viết chương trình sắp xếp mảng A theo thứ tự tăng dần , giảm dần ( sử dụng chương trình con )
2 câu trả lời
program oken;
uses crt;
type mang= array [1..100] of integer;
var a: mang;
n: integer;
procedure nhap(x: longint; var d: mang);
var i: longint;
begin
for i:=1 to x do
begin
write('A[',i,']: ');
readln(d[i]);
end;
end;
procedure xuat(d: mang; pt:longint);
var i: longint;
begin
for i:=1 to pt do
write(d[i],' ');
writeln;
end;
procedure sxgiam(var d: mang; pt:longint);
var i,j,tam: longint;
begin
for i:=1 to pt-1 do
for j:=i+1 to pt do
if d[i]<d[j] then
begin
tam:=d[i];
d[i]:=d[j];
d[j]:=tam;
end;
end;
procedure sxtang(var d: mang; pt:longint);
var i,j,tam: longint;
begin
for i:=1 to pt-1 do
for j:=i+1 to pt do
if d[i]>d[j] then
begin
tam:=d[i];
d[i]:=d[j];
d[j]:=tam;
end;
end;
begin
clrscr;
write('Nhap so phan tu cua mang A: '); readln(n);
nhap(n,a); xuat(a,n);
write('Sap xep mang A tang dan: ');sxtang(a,n); xuat(a,n);
write('Sap xep mang A giam dan: ');sxgiam(a,n); xuat(a,n);
readln;
end.
uses crt;
type kieumang=array[1..10000] of integer;
var a:kieumang;
n,i,j:integer;
{---Nhap---}
procedure nhap_mang(var a:kieumang; n:integer);
begin
for i:=1 to n do
begin
write('Nhap phan tu thu ',i,': '); readln(a[i]);
end;
end;
{---Xuat---}
procedure xuat_mang(var a:kieumang; n:integer);
begin
for i:=1 to n do write(a[i],' ');
end;
{---Tang-dan---}
procedure tang_dan(var a:kieumang; n:integer);
var tg,i,j:integer;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
end;
{---Giam-dan---}
procedure giam_dan(var a:kieumang; n:integer);
var tg,i,j:integer;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
end;
{---Chuong-trinh-chinh---}
BEGIN
clrscr;
write('Nhap so luong phan tu: '); readln(n);
nhap_mang(a,n);
xuat_mang(a,n);
writeln;
write('Day tang dan: '); tang_dan(a,n); xuat_mang(a,n); writeln;
write('Day giam dan: '); giam_dan(a,n); xuat_mang(a,n);
readln;
END.