BÀI TẬP 19: SẮP XẾP DÃY SỐ ÂM TĂNG, DƯƠNG GIẢM VÀ TỔNG CỦA CHÚNG

Viết chương trình nhập vào một dãy N số nguyên từ bàn phím. Xuất ra màn hình:
- Dãy số vừa nhập
- Các số nguyên âm theo thứ tự tăng dần và tổng của chúng
- Các số nguyên dương theo thứ tự giảm dần và tổng của chúng

CODE THAM KHẢO:
program Sx_mang_am_duong;
uses crt;
var A,am,duong:array[1..100] of integer;
    i,j,n,t,s_a,s_d,k,h: integer;
begin
    clrscr;
    //Nhap so luong phan tu
    write('Nhap N = '); readln(n);
    //Nhap gia tri cho tung phan tu mang A
    for i:=1 to n do 
        begin
            write('A[',i,']= ');
            readln(A[i]);
        end;
    write('Day so vua nhap la: ');
    for i:=1 to n do write(A[i],' '); writeln;
    //Tim cac so nguyen am va nguyen duong luu vao mang so am, duong
    k:=0;h:=0; s_a:=0; s_d:=0;
    for i:=1 to n do 
    if A[i] < 0 then
        begin
            k:=k+1;
            am[k]:=A[i];
            s_a:=s_a+A[i];
        end
    else if A[i] > 0 then
        begin
            h:=h+1;
            duong[h]:=A[i];
            s_d:=s_d+A[i];
        end;
    //Sap xep cac so nguyen am theo thu tu tang dan
    for i:=1 to k-1 do
    for j:=i+1 to k do 
    if am[i] > am[j] then
        begin
            t:=am[i]; am[i]:=am[j]; am[j]:=t;
        end;
    //In cac so nguyen am tang va tong cua chung
    if k=0 then writeln('Khong co so nguyen am') 
    else    begin
                write('Day so nguyen am tang dan: ');
                for i:=1 to k do write(am[i],' '); writeln;
                writeln('Tong cac so nguyen am la: ',s_a);
            end;
    //Sap xep cac so nguyen duong theo thu tu giam dan
    for i:=1 to h-1 do
    for j:=i+1 to h do 
    if duong[i] < duong[j] then
        begin
            t:=duong[i]; duong[i]:=duong[j]; duong[j]:=t;
        end;
    //In cac so nguyen duong giam va tong cua chung
    if h=0 then writeln('Khong co so nguyen duong') 
    else    begin
                write('Day so nguyen duong giam dan: ');
                for i:=1 to h do write(duong[i],' '); writeln;
                writeln('Tong cac so nguyen duong la: ',s_d);
            end;
    readln;
end.



Nhãn:

Đăng nhận xét

[blogger]

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.
Javascript DisablePlease Enable Javascript To See All Widget