From d74408d44005b21426e769f40d0d581e4e3f0bd2 Mon Sep 17 00:00:00 2001 From: yang Date: Sat, 27 Sep 2014 16:36:32 -0300 Subject: [PATCH] Add the function to find median value Fixes #3 --- mm.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/mm.c b/mm.c index 2aeb684..569838e 100644 --- a/mm.c +++ b/mm.c @@ -12,6 +12,7 @@ int numcmp (const void *a, const void *b) { return 0; } +// mean value int mean(int length, int *pt){ int i; double value = 0; @@ -22,6 +23,17 @@ int mean(int length, int *pt){ return value; } +// median value +int median(int length, int *pt){ + int middle; + if(length % 2 != 0){ + middle = (pt[length/2] +pt[(length/2)+1]) / 2; + }else{ + middle = pt[length/2]; + } + return middle; +} + int main(int argc, char *argv[]) { int i, length, *pt; @@ -56,6 +68,11 @@ int main(int argc, char *argv[]) { // Sort numbers qsort(pt, length, sizeof(int), numcmp); + //find the middle value + int medianvalue; + medianvalue = median(length, pt); + fprintf(stdout, "The median value is: %d\n", medianvalue); + // Print out numbers fprintf(stdout, "%s: Sorted output is: \n", argv[0]); for (i=0; i