Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
crazy

Câu 2 (6,0 điểm): Dãy chẵn lẻ

Yêu cầu: Viết chương trình nhập vào một dãy số nguyên gồm n phần tử. In ra màn hình dãy số đã được sắp xếp như sau:Số lẻ tăng dần ở đầu dãy, số chẵn giảm dần ở cuối dãy

Dữ liệu: Dòng 1: số phần tử của dãy (n ≤105).

               Dòng 2: Các giá trị của dãy (ai<=1018).

Kết quả: Ghi ra màn hình dãy số sau khi sắp xếp.

Ví dụ:

Dữ liệu

 

Kết quả

6

1 6 5 3 8 4

 

1 3 5 8 6 4

 

pascal nha giup mik vs a

Chương trình có thể như sau:

program SapXepLeChan;
const
  MAX = 100000;
type
  Mang = array[1..MAX] of Int64;
var
  a: Mang;
  n, i, j, temp: integer;
procedure SapXep(var a: Mang; n: integer);
var
  i, j, temp: integer;
begin
  // Sắp xếp số lẻ tăng dần
  for i := 1 to n - 1 do
    for j := i + 1 to n do
      if (a[i] mod 2 <> 0) and (a[j] mod 2 <> 0) then
        if a[i] > a[j] then
        begin
          temp := a[i];
          a[i] := a[j];
          a[j] := temp;
        end;
  // Sắp xếp số chẵn giảm dần
  for i := 1 to n - 1 do
    for j := i + 1 to n do
      if (a[i] mod 2 = 0) and (a[j] mod 2 = 0) then
        if a[i] < a[j] then
        begin
          temp := a[i];
          a[i] := a[j];
          a[j] := temp;
        end;
end;
begin
  // Nhập dữ liệu
  readln(n);
  for i := 1 to n do
    readln(a[i]);
  // Sắp xếp
  SapXep(a, n);
  // In ra màn hình
  for i := 1 to n do
    writeln(a[i]);
end.


Các câu hỏi tương tự
Tạ Quang Dũng
Xem chi tiết
nguyensonbd
Xem chi tiết
Ngoc Hong
Xem chi tiết
hà phương
Xem chi tiết
Thái Hồng Sương
Xem chi tiết
AETC丶NhấtㅤGG
Xem chi tiết
Đặng Đức Nam
Xem chi tiết
Mai Phương Lê
Xem chi tiết
Hải Hà
Xem chi tiết
hoàng kim
Xem chi tiết