/* */

Hi, I am

Ngô Tôn

I am a programmer.

Home / Programming / C/C++ / Sắp xếp các phần tử chẵn giảm dần

Sắp xếp các phần tử chẵn giảm dần

Yêu cầu:

– Viết hàm sắp xếp các phần tử chẵn giảm dần. (các phần tử khác trong mảng giữ nguyên vị trí)
Ví dụ:
Dãy số: 1 9 2 4 6 3 5 0 -5 8
Dãy số sau khi sắp xếp: 1 9 8 6 4 3 5 2 -5 0

Thuật toán:

– Dùng thuật toán bubble sort để sắp xếp các số chẵn, các số lẻ giữ nguyên vị trí

Code:

/************************************************************
#include "stdio.h"
#include "conio.h"

#define LEN_MAX 100 // do dai toi da cua mang

void sort_even_in_desending_order(int A[], int len);

void main()
{
int arr[LEN_MAX];
int n;
int i;
do
{
printf("\nNhap kich thuoc mang: ");
scanf("%d", &n);
}
while (n > LEN_MAX || n <= 0);

//Nhap du lieu cho day so
for (i = 0; i < n; i++)
{
printf("\nA[%d] = ", i);
scanf("%d", &arr[i]);
}

// Sap xep theo thu tu giam dan
sort_even_in_desending_order(arr, n);

printf("\nDay so sau khi sap xep: ");
for (i = 0; i < n; i++)
{
printf("\nA[%d] = %d", i, arr[i]);
}

getch();
}

void sort_even_in_desending_order(int A[], int len)
{
int i, j;
int temp;
// Thuat toan bubble sort
for (i = 0; i < len - 1; i++)
for(j = i+1; j < len; j++)
if(A[i] < A[j] && A[i]%2 == 0 && A[j]%2 == 0)
{
temp = A[j];
A[j] = A[i];
A[i] = temp;
}
}

Kết quả:

Yêu cầu: – Viết hàm sắp xếp các phần tử chẵn giảm dần. (các phần tử khác trong mảng giữ nguyên vị trí) Ví dụ: Dãy số: 1 9 2 4 6 3 5 0 -5 8 Dãy số sau khi sắp xếp: 1 9 8 6 4 3 5 2 -5 0 Thuật toán: – Dùng thuật toán bubble sort để sắp xếp các số chẵn, các số lẻ giữ nguyên vị trí Code: Kết quả: [crayon-5befc05c6645e637936725/]

User Rating: 4.08 ( 2 votes)

About ngoton

Ngô Tôn is a programmer. He is crazy about new gadgets and up to date with latest technology trends. Use comments to notify any issues you are facing.

Check Also

Xây dựng một lớp Time mô tả thông tin về giờ, phút giây

Yêu cầu: Xây dựng một lớp Time mô tả thông tin về giờ, phút giây. …

Leave a Reply

Your email address will not be published. Required fields are marked *