Hi,
another codelab sorting exercise I am having problem with.
You are given an array x of int elements along with an int variable n that contains the number of elements in the array. There are no duplicates in this array. You are also given an int variable m that has been declared. Assign to m the median value of the array.
NOTE: The median of a set of numbers is the number in the set such that there are as many numbers above that value as there are below. If the set has an even number of members, the median is the average of the pair of numbers such that there are as many numbers above the pair as there are below.
EXAMPLE 1: Given 5 8 1 9 7 the median is 7 because there are two numbers below (1 5) and two numbers above (8 9).
EXAMPLE 2: Given 3 7 1 4 6 9 the median is the average of 4 and 6 because there are two numbers above 4 and 6 (7 9) and two numbers below (3 1).
------------------------
here is what i came up with:
for (int i=0; i<n; i++) {
int small=i;
for (int j=i+1; j<n; j++) {
if (x[j]<x[small])
small=j;
}
int s=x[small];
x[small]=x[i];
x[i]=s;
}
if (n%2==0)
m=(x[n/2]+x[n/2+1])/2;
else
m=x[n/2];