Home / Programs / C Program to Merge Two arrays in C Programming
Programming Example

C Program to Merge Two arrays in C Programming

👁 1,152 Views
💻 Practical Program
📘 Step by Step Learning
C Program to Merge Two arrays in C Programming

Program Code

#include<stdio.h>

int main() {
	int arr1[30], arr2[30], res[60];
	int i, j, k, n1, n2;

	printf("\nEnter no of elements in 1st array :");
	scanf("%d", &n1);
	for (i = 0; i < n1; i++) {
		scanf("%d", &arr1[i]);
	}

	printf("\nEnter no of elements in 2nd array :");
	scanf("%d", &n2);
	for (i = 0; i < n2; i++) {
		scanf("%d", &arr2[i]);
	}

	i = 0;
	j = 0;
	k = 0;

	// Merging starts
	while (i < n1 && j < n2) {
		if (arr1[i] <= arr2[j]) {
			res[k] = arr1[i];
			i++;
			k++;
		} else {
			res[k] = arr2[j];
			k++;
			j++;
		}
	}

	/* Some elements in array 'arr1' are still remaining
	 where as the array 'arr2' is exhausted */

	while (i < n1) {
		res[k] = arr1[i];
		i++;
		k++;
	}

	/* Some elements in array 'arr2' are still remaining
	 where as the array 'arr1' is exhausted */

	while (j < n2) {
		res[k] = arr2[j];
		k++;
		j++;
	}

	//Displaying elements of array 'res'
	printf("\nMerged array is :");
	for (i = 0; i < n1 + n2; i++)
		printf("%d ", res[i]);

	return (0);

}

Output

Enter no of elements in 1st array : 4
11 22 33 44

Enter no of elements in 2nd array : 3
10 40 80

Merged array is : 10 11 22 33 40 44 80

Explanation

none

How to learn from this program

First read the algorithm, then study the program code line by line. After that, compare the code with the output and finally go through the explanation. This approach helps learners understand both the logic and the implementation properly.