Hi, I am

Ngô Tôn

I am a programmer.

Home / Programming / C/C++ / Nối 2 mảng số nguyên

Nối 2 mảng số nguyên

Yêu cầu:

– Cho 2 mảng số nguyên a và b kích thước lần lượt là n và m. Viết chương trình nối 2 mảng trên thành mảng c theo nguyên tắc chẵn ở đầu mảng và lẻ ở cuối mảng.

Ví dụ: Mảng a: 3 2 7 5 9
Mảng b: 1 8 10 4 12 6
Mảng c: 6 12 4 10 2 8 3 1 7 5 9

Thuật toán:

 

Code:

/************************************************************
#include <stdio.h>
#include <conio.h>
#define MAX_SIZE 100

#define MAX(a,b) (((a)>(b))?(a):(b))

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

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

merge_arr(A, n, B, m, C, &l);

print_arr(C, l, 'C');

getch();
}

void merge_arr(int A[], int n, int B[], int m, int C[], int *l)
{
int i, j = 0, k = m + n - 1;
for(i = 0; i < MAX(n, m); i++)
{
if(A[i]%2 == 0 && i < n)
C[j++] = A[i];
if(B[i]%2 == 0 && i < m)
C[j++] = B[i];
if(A[i]%2 != 0 && i < n)
C[k--] = A[i];
if(B[i]%2 != 0 && i < m)
C[k--] = B[i];
}
*l = (m + n);
}
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: – Cho 2 mảng số nguyên a và b kích thước lần lượt là n và m. Viết chương trình nối 2 mảng trên thành mảng c theo nguyên tắc chẵn ở đầu mảng và lẻ ở cuối mảng. Ví dụ: Mảng a: 3 2 7 5 9 Mảng b: 1 8 10 4 12 6 Mảng c: 6 12 4 10 2 8 3 1 7 5 9 Thuật toán:   Code: Kết quả: [crayon-5b74e09ead0cd413507833/]

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 *