How To Merge Two Arrays in C
In this tutorial, we are going to see how to merge two arrays into a third array in C. The arrays are supposed to be sorted in ascending order. You enter two sorted arrays and merge them into a larger array. If the arrays are not sorted, you can sort them first and then use the merge function.
How To Merge Two Arrays in C
#include <stdio.h>
int main()
{
int arr1[50], arr2[50], arr3[100];
int nbr1, nbr2, nbr3, i, j;
printf("Enter the number of elements in the 1st array: ");
scanf("%d", &nbr1);
printf("Enter the array elements: ");
for(i = 0; i < nbr1; i++)
{
scanf("%d", &arr1[i]);
}
printf("Enter the number of elements in the 2nd array: ");
scanf("%d", &nbr2);
printf("Enter the array elements: ");
for(i = 0; i < nbr2; i++)
{
scanf("%d", &arr2[i]);
}
for(i = 0; i < nbr1; i++)
{
arr3[i] = arr1[i];
}
nbr3 = nbr1 + nbr2;
for(i = 0, j = nbr1; j < nbr3 && i < nbr2; i++, j++)
{
arr3[j] = arr2[i];
}
printf("The merged array is: ");
for(i = 0; i < nbr3; i++)
{
printf("%4d",arr3[i]);
}
return 0;
}
Output:
Enter the number of elements in the 1st array: 3 Enter the array elements: 1 2 3 Enter the number of elements in the 2nd array: 3 Enter the array elements: 4 5 6 The merged array is: 1 2 3 4 5 6




