/* */

Hi, I am

Ngô Tôn

I am a programmer.

Home / Programming / C/C++ / Tách 1 mảng thành 2 mảng chẵn và lẻ

Tách 1 mảng thành 2 mảng chẵn và lẻ

Yêu cầu:

–  Viết chương trình tách 1 mảng các số nguyên thành 2 mảng B và C, sao cho mảng B chứa toàn số lẻ và mảng C chứa toàn số chẵn.

Ví dụ: Mảng ban đầu: 1 3 8 2 7 5 9 0 10
Mảng a: 1 3 7 5 9
Mảng b: 8 2 0 10

Thuật toán:

– Khai báo 2 mảng để chứa phần tử chẵn và lẻ.

– Duyệt mảng ban đầu để tách phần tử chẵn và lẻ vào 2 mảng tương ứng.

Code:

/************************************************************
#include "stdio.h"
#include "conio.h"
#define MAX_SIZE 100

void split_arr(int A[], int n, int B[], int* m, int C[], int *k);
void print_arr(int A[], int n, char name_arr);

void main()
{
int A[] = {1, -8, 2, 2, 3, 5, 23, 13, 44};
int n = sizeof(A)/sizeof(int);
int m = 0,k = 0;
int B[MAX_SIZE];
int C[MAX_SIZE];

split_arr(A, n, B, &m, C, &k);
print_arr(A, n, 'A');
print_arr(B, m, 'B');
print_arr(C, k, 'C');
getch();
}

void split_arr(int A[], int n, int B[], int* m, int C[], int *k)
{
int i, j;
for(i = 0; i < n; i++)
{
if(A[i]%2 != 0) // odd number
{
B[(*m)++] = A[i];
}
else //even number
{
C[(*k)++] = A[i];
}
}
}

void print_arr(int A[], int n, char name_arr)
{
int i;
if(n == 0)
{
printf("\nArray %c is empty", name_arr);
return;
}
for(i = 0; i < n; i++)
{
switch(name_arr)
{
case 'A':
case 'a':
printf("\nA[%d] = %d", i, A[i]);
break;
case 'B':
case 'b':
printf("\nB[%d] = %d", i, A[i]);
break;
case 'C':
case 'c':
printf("\nC[%d] = %d", i, A[i]);
}
}
}

Kết quả:

Yêu cầu: –  Viết chương trình tách 1 mảng các số nguyên thành 2 mảng B và C, sao cho mảng B chứa toàn số lẻ và mảng C chứa toàn số chẵn. Ví dụ: Mảng ban đầu: 1 3 8 2 7 5 9 0 10 Mảng a: 1 3 7 5 9 Mảng b: 8 2 0 10 Thuật toán: – Khai báo 2 mảng để chứa phần tử chẵn và lẻ. – Duyệt mảng ban đầu để tách phần tử chẵn và lẻ vào 2 mảng tương ứng. Code: Kết quả: [crayon-5befbf645f3af020477497/]

User Rating: 5 ( 1 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 *