Decode School

Decode School - The School for Problem Solvers

Welcome to my blog. Subscribe and get my latest blog post in your inbox.

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

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++