Lập trình C - Trộn hai mảng thành một mảng

Trộn hai mảng thành một mảng trong C

Đề bài: Viết chương trình C để trộn hai mảng thành một mẩng duy nhất.

Bài tập C này có nhiều cách gọi: trộn hai mảng, nối hai mảng, ghép hai mảng hay cộng hai mảng thành một mảng trong C.


Lời giải

Dưới đây là chương trình C để giải bài tập trộn mảng trong C:

#include <stdio.h>
 
int main() {
   int even[5] = {0, 2, 4, 6, 8};
   int odd[6]  = {1, 3, 5, 7, 9, 11};
    
   int i, index;
   int eSize = 5;
   int oSize = 6;
    
   // khoi tao mang moi
   int arr[eSize + oSize];
    
   index = 0;
  
   // them mang even vao mang arr
   for(i = 0; i < eSize; i++) {
      arr[index] = even[i];
      index++;
   }
   // them mang odd vao mang arr 
   for(i = 0; i < oSize; i++) {
      arr[index] = odd[i];
      index++;
   }
 
   printf("Tron hai mang thanh mot mang:\n\n");
   printf("\nMang chan: ");
   for(i = 0; i < eSize; i++)
      printf(" %d", even[i]);
 
   printf("\nMang le: ");
   for(i = 0; i < oSize; i++)
      printf(" %d", odd[i]);
 
   printf("\nMang sau khi tron: ");
   for(i = 0; i < 10; i++)
      printf(" %d", arr[i]);
    
   return 0;
}

Chạy chương trình C trên cho kết quả như sau:

Trộn hai mảng thành một mảng trong C