Easy Tutorial
❮ C Function Feof C Exercise Example65 ❯

C Language Example - Array Splitting and Merging

C Language Examples

Split an array into two arrays, one for odd numbers and one for even numbers:

Example

#include <stdio.h>

int main() {
   int array[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
   int even[10], odd[10];
   int loop, e, d;

   e = d = 0;

   for(loop = 0; loop < 10; loop++) {
      if(array[loop]%2 == 0) {
         even[e] = array[loop];
         e++;
      } else {
         odd[d] = array[loop];
         d++;
      }
   }

   printf(" Original Array -> ");

   for(loop = 0; loop < 10; loop++)
      printf(" %d", array[loop]);

   printf("\n Even Numbers -> ");
   for(loop = 0; loop < e; loop++)
      printf(" %d", even[loop]);   

   printf("\n Odd Numbers -> ");
   for(loop = 0; loop < d; loop++)
      printf(" %d", odd[loop]);   

   return 0;
}

Output:

Original Array ->  0 1 2 3 4 5 6 7 8 9
 Even Numbers ->  0 2 4 6 8
 Odd Numbers ->  1 3 5 7 9

Merge the odd and even arrays into a single array:

Example

#include <stdio.h>

int main() {
   int array[10];
   int even[5] = {0, 2, 4, 6, 8};
   int odd[5]  = {1, 3, 5, 7, 9};

   int loop, index, e_len, o_len;

   e_len = o_len = 5;

   index = 0;

   for(loop = 0; loop < e_len; loop++) {
      array[index] = even[loop];
      index++;
   }

   for(loop = 0; loop < o_len; loop++) {
      array[index] = odd[loop];
      index++;
   }

   printf("\nEven Numbers -> ");

   for(loop = 0; loop < e_len; loop++)
      printf(" %d", even[loop]);
   printf("\nOdd Numbers  -> ");

   for(loop = 0; loop < o_len; loop++)
      printf(" %d", odd[loop]);

   printf("\nMerged Array -> ");

   for(loop = 0; loop < 10; loop++)
      printf(" %d", array[loop]);

   return 0;
}

Output:

Even Numbers ->  0 2 4 6 8
Odd Numbers  ->  1 3 5 7 9
Merged Array ->  0 2 4 6 8 1 3 5 7 9

C Language Examples

❮ C Function Feof C Exercise Example65 ❯