C Program to Merging two arrays

Description

Get two arrays and merge them into single array.

Input:
3
5 4 2
4
9 7 6 3
Output:
5 4 2 9 7 6 3

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;
}

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