viết chương trình nhập vào một dãy số gồm n số nguyên với n là số tự nhiên cho trước tách dãy số trên thành hai dãy số dãy số chẵn và số lẻ theo thứ tự tăng dần và xuất ra màn hình dãy số đã nhập
viết chương trình nhập vào một dãy số gồm n số nguyên với n là số tự nhiên cho trước tách dãy số trên thành hai dãy số dãy số chẵn và số lẻ theo thứ tự tăng dần và xuất ra màn hình dãy số đã nhập
program Taylor;
uses crt;
var n,i,j,t:longint; a:array[1..1000000]of longint;
begin
clrscr;
write(‘n=’);readln(n);
for i:=1 to n do
begin
write(‘a[‘,i,’]=’);readln(a[i]);
for j:=1 to i do if a[i]<a[j]
then begin t:=a[i]; a[i]:=a[j]; a[j]:=t; end;
end;
write(‘Day so chan: ‘);
for i:=1 to n do if a[i] mod 2=0 then write(a[i],’ ‘); writeln;
write(‘Day so le: ‘);
for i:=1 to n do if a[i] mod 2=1 then write(a[i],’ ‘);
readln
end.
///////////////////////////////////////////////
Test:
Phân tích:
Ta sẽ thực hiện các bước :
+ Nhập dãy số ( nhập mảng )
+ Kiểm tra số chẵn, số lẻ
+ Đưa các số chẵn và lẻ vào mảng riêng
+ Sắp xếp 2 mảng theo thứ tự tăng dần
– Thuật toán mình recommend : bubble sort , selection sort
Với những công việc mình đã đề xuất thì dễ dàng thực hiện được. Source code Scratch vì mình không giỏi Pascal ạ, mong admin đừng xóa 🙁
Có thể bạn chưa biết?
Thuật toán Bubble sort ( thuật toán nổi bọt ) : so sánh hai phần tử đầu, nếu phần tử đứng trước lớn hơn phần tử đứng sau thì đổi chỗ chúng cho nhau. Tiếp tục làm như vậy với cặp phần tử tiếp theo cho đến cuối tập hợp dữ liệu. Sau đó nó quay lại với hai phần tử đầu cho đến khi không còn cần phải đổi chỗ nữa. Thuật toán này đơn giản và dễ hiểu.
Thuật toán Selection sort ( thuật toán chon ) : là phương pháp sắp xếp bằng cách chọn phần tử bé nhất xếp vào vị trí thứ nhất, tương tự với các phần tử nhỏ thứ hai, thứ ba,…
Dưới đây là 2 thuật toán đối với mình là dễ hiểu nhất, bạn có thể tham khảo thêm : Insertion sort, Merge sort, Heapsort,…