My problem involves writing a function that takes an integer array and an index as arguements, and returns the value of the integer in the array that appears most frequently, only that if there are 2 or more values with the same frequency, the smallest should be returned.

I have been able to get this far:

this works great, but does not work for the last condition for the return of the smallest value when there are similar frequencies. I feel it may be neccessary to include another array to do this. Could anybody shed some light on this for me...Code:void find_maxfreq(int A[], int index) { int i=0, j=0, maxfreq=1, freq=1, number=0; int numbers[MAXVALS]; for (i=0 ; i<index; i++) { for (j=i+1; j<index; j++) { if (A[i]==A[j]) { freq++; } } if (freq>=maxfreq) { maxfreq = freq; number = A[i]; freq = 1; } } printf("Max freq : %d\n", maxfreq); printf("Value : %d\n", number); return; }