Sunday, December 23, 2018

PROGRAM TO MERGE AN ARRAY

/*PROGRAM  TO  MERGE  AN  ARRAY*/

#include<stdio.h>
#include<conio.h>
void merge(int [], int, int [], int, int []);

void main()
 {
  int a[100], b[100], m, n, c, sorted[200];
  clrscr();
  printf("Input number of elements in first array\n");
  scanf("%d", &m);

  printf("Input %d integers\n", m);
  for (c = 0; c < m; c++)
{
 scanf("%d", &a[c]);
  }

 printf("Input number of elements in second array\n");
 scanf("%d", &n);
 printf("Input %d integers\n", n);
for (c = 0; c < n; c++) {
scanf("%d", &b[c]);
  }

  merge(a, m, b, n, sorted);

  printf("Sorted array:\n");

  for (c = 0; c < m + n; c++)
{
    printf("%d\n", sorted[c]);
  }

  getch();
}

void merge(int a[], int m, int b[], int n, int sorted[])
{
  int i, j, k;

  j = k = 0;

  for (i = 0; i < m + n;)
 {
    if (j < m && k < n)
 {
      if (a[j] < b[k])
{
        sorted[i] = a[j];
        j++;
      }
      else {
        sorted[i] = b[k];
        k++;
      }
      i++;
    }
    else if (j == m)
 {
    for (; i < m + n;)
 {
        sorted[i] = b[k];
        k++;
        i++;
      }
    }
    else
{
      for (; i < m + n;)
{
        sorted[i] = a[j];
        j++;
        i++;
      }
    }
  }
}


Output:-
sk.

No comments:

Post a Comment

Wikipedia

Search results

Search The program