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ả:

About ngoton

Ngô Tôn is a programmer with passion for tailored software solutions. Comes with 7+ years of IT experience, to execute beautiful front-end experiences with secure and robust back-end solutions.

Check Also

Xây dựng hàm bạn để tính diện tích hình chữ nhật

Yêu cầu: Xây dựng hàm bạn để tính diện tích hình chữ nhật Code: Giải …

1
Leave a Reply

avatar
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Phạm Lâm Trí Thành Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Phạm Lâm Trí Thành
Guest
Phạm Lâm Trí Thành

1. Hàm tách mảng thành ba mảng : một mảng chứa toàn số chẵn, một mảng chứa toán số lẻ, một mảng chứa toàn số 0.
2. Tách mảng thành ba mảng Một mảng chứa các số hoàn thiện, một mảng chứa các số đối xứng và một mảng chứa các số không phải các số trên.
3. Tách mảng thành ba mảng: Một mảng chứa các số âm, một mảng chứa các số dương và một mảng chứa các số không.

anh cho em xin công thức tách 1 mảng thành 3 mảng đc k?