Tải bản đầy đủ (.docx) (3 trang)

Đảo ngược thứ tự số chẵn và lẻ trong mảng nhưng giữ vị trí tương đối

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (58.56 KB, 3 trang )

Bài 290: Đảo ngược thứ tự số chẵn và lẻ trong mảng nhưng giữ vị trí tương đối
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define MAX 100

void nhap (int a[], int &n)
{
do
{
printf("\nNhap so phan tu: ");
scanf("%d", &n);
if(n <= 0 || n > MAX)
{
printf("\nSo phan tu khong hop le. Xin kiem tra lai !");
}
}while(n <= 0 || n > MAX);
for(int i = 0; i < n; i++)
{
printf("\nNhap a[%d]: ", i);
scanf("%d", &a[i]);
}
}


void xuat(int a[], int n)
{
for(int i = 0; i < n; i++)
{
printf("%4d", a[i]);
}


}

void HoanVi(int &a, int &b)
{
int tam = a;
a = b;
b = tam;
}

void DaoNguocChanLe(int a[], int n)
{
int i, j;
for(i = 0; i < n; i++)
{
for(j = i + 1; j < n; j++)
{
if(a[i] % 2 == 0 && a[j] % 2 == 0)
{
HoanVi(a[i], a[j]);
}


else if(a[i] % 2 != 0 && a[j] % 2 != 0)
{
HoanVi(a[i], a[j]);
}
}
}
}
int main()

{
int n;
int a[MAX];

nhap(a, n);
xuat(a, n);
printf("\nDao nguoc chan le: ");
DaoNguocChanLe(a, n);
xuat(a, n);

getch();
return 0;
}



×