Think about another approach:
struct IntRange { int minval, maxval; };
struct IntRange MinMax(const int* arr, int n)
{
struct IntRange range = { 0, 0 };
if (arr && 0 < n) {
int i;
range.minval = range.maxval = arr[0];
for (i = 1; i < n; ++i) {
if (arr[i] < range.minval)
range.minval = arr[i];
else if (range.maxval < arr[i])
range.maxval = arr[i];
}
}
return range;
};
int main()
{
int* numberlist;
struct Range range;
...
range = MinMax(numberlist,n);
printf("Min %d\nMax %d\n",range.minval.range.maxval);
return 0;
}
ArkM
Postaholic
2,001 posts since Jul 2008
Reputation Points: 1,234
Solved Threads: 348
Look at csurfer's post again!
It was the true solution of your problems (in other words, it was a correction of your mistake ;))...
ArkM
Postaholic
2,001 posts since Jul 2008
Reputation Points: 1,234
Solved Threads: 348
There is an initialization failure ...
for( i = 0; i < n; i++ ) numberlist[i] == rand() % n ;
mitrmkar
Posting Virtuoso
1,809 posts since Nov 2007
Reputation Points: 1,105
Solved Threads: 395