You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.5 KiB
C

/*
* C Program to Find the Median of the Elements after Merging these 2 Sorted Arrays with Same Size
*/
#include <stdio.h>
int getMedian(int array1[], int array2[], int n)
{
int i = 0; /* Current index of i/p array array1[] */
int j = 0; /* Current index of i/p array array2[] */
int count;
int m1 = -1, m2 = -1;
for (count = 0; count <= n; count++)
{
if (i == n)
{
m1 = m2;
m2 = array2[0];
break;
}
else if (j == n)
{
m1 = m2;
m2 = array1[0];
break;
}
if (array1[i] < array2[j])
{
m1 = m2; /* Store the prev median */
m2 = array1[i];
i++;
}
else
{
m1 = m2; /* Store the prev median */
m2 = array2[j];
j++;
}
}
return (m1 + m2)/2;
}
int main()
{
int array1[] = {20, 25, 35, 30, 38};
int array2[] = {22, 53, 65, 72, 45};
int n1 = sizeof(array1) / sizeof(array1[0]);
int n2 = sizeof(array2) / sizeof(array2[0]);
if (n1 == n2)
printf("Median is %d", getMedian(array1, array2, n1));
else
printf("not possible to findout");
getchar();
return 0;
}
/*
Median is 34