Bài Kiểm Tra

https://baikiemtra.com


Lập trình Pascal: Viết chương trình sắp xếp dãy số chẵn lẻ

Viết chương trình nhập vào một dãy số nguyên có n phần tử.
a. Đưa những phần tử lẻ ra đầu danh sách, những phần tử chẵn về cuối danh sách và in kết quả ra màn hình.
b. Sắp xếp các phần tử lẻ đầu danh sách theo thứ tứ tăng dần, sắp xếp các phần tử chẵn cuối danh sách theo thứ tự giảm dần. In danh sách ra màn hình.
Program DAY_CHAN_LE;
Uses crt;
Type ma=array[1..50] of integer;
Var a:ma;n:integer;
Procedure Input(var a:ma;n:integer);
Var i: integer;
Begin
        For i:=1 to n do
       Begin
           Write('nhap phan tu thu ',i,'=');
           Readln(a[i]);
End;
End;
Procedure Output(a:ma;n:integer);
Var i:integer;
Begin
         For i:=1 to n do
         Write(a[i]:3);
End;
Procedure Odd_Even(var a:ma;n:integer);
Var l,r,t:integer;
Begin
         l:=1;
         r:=n;
        Repeat
         While (l<r) and (a[l] mod 2 = 1) do
           l:=l+1;
         While (r>l) and (a[r] mod 2 = 0) do
         r:=r-1;
        If l<r then
        Begin
           t:=a[l];
           a[l]:=a[r];
           a[r]:=t;
         End;
     Until l>=r;
End;

Procedure Sort( var a:ma;n:integer);
Var i,j,k,t:integer;
Begin
    k:=0;
    For i :=1 to n do
        If a[i] mod 2 <> 0 then k:=k+1;
        For i:=1 to k-1 do
            For j :=i+1 to k do
            If a[i]>a[j] then
           Begin
             t:=a[i];
             a[i]:=a[j];
             a[j]:=t;
          End;
           For i:=k+1 to n -1 do
           For j :=i+1 to n do
           If a[i]<a[j] then
           Begin
           t:=a[i];
           a[i]:=a[j];
           a[j]:=t;
           End;
End;
Begin
Clrscr;
Writeln('CHUONG TRINH SAP XEP CHAN LE');
Writeln('-------------------------------');
Write('Nhap so phan tu cua day n= ');readln(n);
Input(a,n);
Writeln('Day ban bau la: ');
Output(a,n); odd_even(a,n);
Writeln;
Writeln('Day sau tach le va chan:');
Output(a,n);
Writeln;
Writeln('Day sau sap xep la:');
Sort(a,n);
Output(a,n);
Readln;
End.
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây