#include <stdio.h>
void saidai_num(int kosuu, int data[], int *max, int *max_num) {
int counter = 0;
*max = data[0];
*max_num = 1;
do {
counter++;
if (*max < data[counter]) {
*max = data[counter];
*max_num = 1;
} else if (*max == data[counter]) {
*max_num = *max_num + 1;
}
} while(counter < kosuu);
}
int main() {
int data1[] = {10, 15, 30, 15, 30, 30, 7};
int data2[] = {10, 10, 10, 10, 10, 10};
int max1, max_num1;
int max2, max_num2;
saidai_num(6, data1, &max1, &max_num1);
saidai_num(5, data2, &max2, &max_num2);
printf("MAX1:%d, MAX1_NUM:%d\n", max1
, max_num1
); printf("MAX2:%d, MAX2_NUM:%d\n", max2
, max_num2
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHNhaWRhaV9udW0oaW50IGtvc3V1LCBpbnQgZGF0YVtdLCBpbnQgKm1heCwgaW50ICptYXhfbnVtKSB7CiAgICBpbnQgY291bnRlciA9IDA7CiAgICAqbWF4ID0gZGF0YVswXTsKICAgICptYXhfbnVtID0gMTsKCiAgICBkbyB7CiAgICAgICAgY291bnRlcisrOwogICAgICAgIGlmICgqbWF4IDwgZGF0YVtjb3VudGVyXSkgewogICAgICAgICAgICAqbWF4ID0gZGF0YVtjb3VudGVyXTsKICAgICAgICAgICAgKm1heF9udW0gPSAxOwogICAgICAgIH0gZWxzZSBpZiAoKm1heCA9PSBkYXRhW2NvdW50ZXJdKSB7CiAgICAgICAgICAgICptYXhfbnVtID0gKm1heF9udW0gKyAxOwogICAgICAgIH0KICAgIH0gd2hpbGUoY291bnRlciA8IGtvc3V1KTsKfQoKaW50IG1haW4oKSB7CiAgICBpbnQgZGF0YTFbXSA9IHsxMCwgMTUsIDMwLCAxNSwgMzAsIDMwLCA3fTsKICAgIGludCBkYXRhMltdID0gezEwLCAxMCwgMTAsIDEwLCAxMCwgMTB9OwogICAgaW50IG1heDEsIG1heF9udW0xOwogICAgaW50IG1heDIsIG1heF9udW0yOwoKICAgIHNhaWRhaV9udW0oNiwgZGF0YTEsICZtYXgxLCAmbWF4X251bTEpOwogICAgc2FpZGFpX251bSg1LCBkYXRhMiwgJm1heDIsICZtYXhfbnVtMik7CgogICAgcHJpbnRmKCJNQVgxOiVkLCBNQVgxX05VTTolZFxuIiwgbWF4MSwgbWF4X251bTEpOwogICAgcHJpbnRmKCJNQVgyOiVkLCBNQVgyX05VTTolZFxuIiwgbWF4MiwgbWF4X251bTIpOwogICAgcmV0dXJuIDA7Cn0=