H24

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

NH
29 tháng 3 2024 lúc 10:44

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.

Bình luận (0)

Các câu hỏi tương tự
TD
Xem chi tiết
H24
Xem chi tiết
NH
Xem chi tiết
HP
Xem chi tiết
TS
Xem chi tiết
H24
Xem chi tiết
DN
Xem chi tiết
ML
Xem chi tiết
HH
Xem chi tiết
HK
Xem chi tiết