#include int int_cmp(const void *a, const void *b) { const int *ia = (const int *)a; const int *ib = (const int *)b; return *ia - *ib; } main(char *argv[]) { char x; int y; int values[2000]; int i = 0; FILE *fp; int t; int median; fp=fopen(argv[1], "r"); while (fscanf(fp,"%d",&y) != EOF){ values[i] = y; printf("%d\n",values[i]); i = i + 1; } printf("%d",i); puts("-----------------------"); qsort(values,i, sizeof(int),int_cmp); for(t=0; t < i; t++) { printf("%d\n", values[t]); } puts("------"); if((i % 2) != 0) { median = (i/2 ); //return the median value without adding one because array indexing starts at 0 printf("%d",values[median]); } fclose(fp); } /** main(char *argv[]){ RetreiveSort(argv[0]); } */ /* main(int argc, char *argv[]){ int pid; static int = 0; int parent; pid = fork(); if (pid == 0 and i < argc) { RetreiveSort[i]; } if (pid > 0) { parent = getid(); } if (pid == parent){ fork } } */