#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]);
   fflush(stdin);
  }

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

		  }
 }