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.

Câu hỏi trong lớp Xem thêm