C Program to Merging two arrays

Get two arrays and merge them into single array.

Sample Input 1:

3 5 4 2 4 9 7 6 3

Sample Output 1:

5 4 2 9 7 6 3

Try your Solution

Strongly recommended to Solve it on your own, Don't directly go to the solution given below.

#include<stdio.h> int main() { //write your code here }

Program or Solution

				
			
					
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int *a,*b,*c,n,m,i,j;
	printf("Enter the sizes of two arrays:");
	scanf("%d %d",&n,&m);
	a=malloc(sizeof(int)*n);
	b=malloc(sizeof(int)*m);
	c=malloc(sizeof(int)*(n+m));
	printf("Enter %d elements for first array:",n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	printf("Enter %d elements for Second array:",m);
	for(i=0;i<m;i++)
	{
		scanf("%d",&b[i]);
	}
	i=0;
	for(j=0;j<n;j++)
	{
		c[i]=a[j];
		i++;
	}
	for(j=0;j<m;j++)
	{
		c[i]=b[j];
		i++;
	}
	printf("After Merging:");
	for(i=0;i<n+m;i++)
	{
		printf("%d ",c[i]);
	}
	return 0;
}
			
				
			

Program Explanation

Create a new array with size of size of a array + size of b array.

C[n+m]  visit elements of a array and store it in c.

 c[i]=a[j]  i++ visit elements of b array and store it in c.

c[i]=b[j] i++

Comments