#include <stdio.h>
void maxcount(int kosuu, int data[], int *max, int *count) {
int counter = 0;
*max = data[0];
*count = 1;
do {
counter = counter + 1;
if (data[counter] > *max) {
*max = data[counter];
*count = 1;
} else if (data[counter] == *max) {
*count = *count + 1;
}
} while (counter < kosuu);
}
int main(void) {
int kosuu1 = 4;
int data1[] = {10, 20, 8, 20, 7};
int max1, count1;
int kosuu2 = 5;
int data2[] = {30, 20, 30, 10, 30, 5};
int max2, count2;
maxcount(kosuu1, data1, &max1, &count1);
maxcount(kosuu2, data2, &max2, &count2);
printf("MAX1 = %d, CNT1 = %d\n", max1
, count1
); printf("MAX2 = %d, CNT2 = %d\n", max2
, count2
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIG1heGNvdW50KGludCBrb3N1dSwgaW50IGRhdGFbXSwgaW50ICptYXgsIGludCAqY291bnQpIHsKICAgIGludCBjb3VudGVyID0gMDsKICAgICptYXggPSBkYXRhWzBdOwogICAgKmNvdW50ID0gMTsKICAgIGRvIHsKICAgICAgICBjb3VudGVyID0gY291bnRlciArIDE7CiAgICAgICAgaWYgKGRhdGFbY291bnRlcl0gPiAqbWF4KSB7CiAgICAgICAgICAgICptYXggPSBkYXRhW2NvdW50ZXJdOwogICAgICAgICAgICAqY291bnQgPSAxOwogICAgICAgIH0gZWxzZSBpZiAoZGF0YVtjb3VudGVyXSA9PSAqbWF4KSB7CiAgICAgICAgICAgICpjb3VudCA9ICpjb3VudCArIDE7CiAgICAgICAgfQogICAgfSB3aGlsZSAoY291bnRlciA8IGtvc3V1KTsKfQoKaW50IG1haW4odm9pZCkgewogICAgaW50IGtvc3V1MSA9IDQ7CiAgICBpbnQgZGF0YTFbXSA9IHsxMCwgMjAsIDgsIDIwLCA3fTsKICAgIGludCBtYXgxLCBjb3VudDE7CgogICAgaW50IGtvc3V1MiA9IDU7CiAgICBpbnQgZGF0YTJbXSA9IHszMCwgMjAsIDMwLCAxMCwgMzAsIDV9OwogICAgaW50IG1heDIsIGNvdW50MjsKCiAgICBtYXhjb3VudChrb3N1dTEsIGRhdGExLCAmbWF4MSwgJmNvdW50MSk7CiAgICBtYXhjb3VudChrb3N1dTIsIGRhdGEyLCAmbWF4MiwgJmNvdW50Mik7CgogICAgcHJpbnRmKCJNQVgxID0gJWQsIENOVDEgPSAlZFxuIiwgbWF4MSwgY291bnQxKTsKICAgIHByaW50ZigiTUFYMiA9ICVkLCBDTlQyID0gJWRcbiIsIG1heDIsIGNvdW50Mik7CgogICAgcmV0dXJuIDA7Cn0=