programming-examples/c/Arrays/C Program to Calculate median of an array of n numbers.c
2019-11-15 12:59:38 +01:00

67 lines
1.4 KiB
C

/* Median - Calculate median of an array of n numbers */
#include <stdio.h>
#include <conio.h>
#include <math.h>
float median(int x[ ], int n) ;
void sort(int x[ ], int n) ;
void main()
{
int i, n, x[50] ;
clrscr();
printf("Enter the number of elements: ") ;
scanf("%d", &n) ;
printf("Enter the elements: \n") ;
for(i=0 ; i<n ; i++)
scanf("%d", &x[i]) ;
printf("The median of given numbers is %f", median(x,n)) ;
getch();
}
float median(int x[ ], int n)
{
/* Median of an array is the middle element of sorted array */
sort(x,n) ;
/* Condition true if number of elements is odd. In that case return single middle element */
/* Condition false if number of elements is even. In that case return average of two middle elements */
if(n % 2 == 1)
return (x[n/2]) ;
else
return ( (x[n/2]+x[n/2-1])/2.0 ); /* Dont divide by 2 */
}
void sort(int x[ ], int n)
{
int i, j, temp ;
for(i=0 ; i<n-1 ; i++)
for(j=0 ; j<n-1-i ; j++)
if(x[j] > x[j+1])
{
temp=x[j] ;
x[j]=x[j+1] ;
x[j+1]=temp ;
}
}
/*
Output1:
Enter the number of elements: 5
Enter the elements:
2 8 4 9 6
The median of given numbers is 6.000000
Output2:
Enter the number of elements: 6
Enter the elements:
2 9 4 8 6 7
The median of given numbers is 6.500000
*/