Chương trình Nhập vào một dãy số nguyên có n phần tử


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 (ll) and (a[r] mod 2 = 0) do r:=r-1;
If 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');
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.

About these ads