Merge of two arrays in C


 

Merge of two arrays in C

In this tutorial you will know how to merge two array in c language. There are four function in this given example one for reading the array element, second for writing on console and third for sorting of both array and last for merge of two array into one.

In this tutorial you will know how to merge two array in c language. There are four function in this given example one for reading the array element, second for writing on console and third for sorting of both array and last for merge of two array into one.

Code:

#include<stdio.h>
#include<conio.h>
void main()
{
 void read(int *,int);
 void display(int *,int);
 void sort(int *,int);
 void mergelist(int *,int *,int *,int);
 int a[5],b[5],c[10];
 clrscr();
  printf("Enter the elements for the first array \n");
  read(a,5);
  printf("The elements of first array are :  \n");
  display(a,5);
 printf("Enter the elements for the second array \n");
  read(b,5);
  printf("The elements of second array are : \n");
  display(b,5);
  sort(a,5);
  printf("The sorted first array in decending order are :\n");
  display(a,5);
  sort(b,5);
	printf("The sorted second array in decending order are :\n");
  display(b,5);

  mergelist(a,b,c,5);
  printf("The elements of merged list is  \n");
  display(c,10);
  getch();
 }
  void read(int c[],int i)
  {
	int j;
   for(j=0;j<i;j++)
	scanf("%d",&c[j]);
  }

  void display(int d[],int i)
  {
   int j;
	for(j=0;j<i;j++)
	printf("%d  ",d[j]);
	printf("\n");
  }
void sort(int arr[] ,int k)
 {
  int temp;
  int i,j;
  for(i=0;i<k;i++)
   {
	for(j=0;j<k-i-1;j++)
	 {
	  if(arr[j]<arr[j+1])
	   {
		temp=arr[j];
		arr[j]=arr[j+1];
		arr[j+1]=temp;
	   }
	 }
   }
   }

  void mergelist(int a[],int b[],int c[],int k)
  {
	int ptra=0,ptrb=0,ptrc=0;
	while(ptra<k && ptrb<k)
	 {
		if(a[ptra] < b[ptrb])
		 {
		   c[ptrc]=b[ptrb];
			ptrb++;
		  }
	   else
		 {
		   c[ptrc]=a[ptra];
		   ptra++;
		  }
	  ptrc++;
	 }
   while(ptra<k)
	 {
		   c[ptrc]=a[ptra];
		   ptra++;ptrc++;
		  }
   while(ptrb<k)
	 {
		   c[ptrc]=b[ptrb];
		   ptrb++;  ptrc++;

		  }
 }

Output:

Download this code

Ads