#include <stdio.h>
void saidai_num(int kosuu, int data[], int *max, int *max_num) {
*max = data[0];
*max_num = 1;
for (int i = 1; i <= kosuu; i++) {
if (data[i] > *max) {
*max = data[i];
*max_num = 1;
} else if (data[i] == *max) {
(*max_num)++;
}
}
}
int main(void) {
int data1[7] = {10, 15, 30, 15, 30, 30, 7};
int data2[6] = {10, 10, 10, 10, 10, 10};
int max1, num1;
int max2, num2;
saidai_num(6, data1, &max1, &num1);
saidai_num(5, data2, &max2, &num2);
printf("配列1: max=%d, 個数=%d\n", max1
, num1
); printf("配列2: max=%d, 個数=%d\n", max2
, num2
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHNhaWRhaV9udW0oaW50IGtvc3V1LCBpbnQgZGF0YVtdLCBpbnQgKm1heCwgaW50ICptYXhfbnVtKSB7CiAgICAqbWF4ID0gZGF0YVswXTsgICAgCiAgICAqbWF4X251bSA9IDE7ICAgICAKCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBrb3N1dTsgaSsrKSB7CiAgICAgICAgaWYgKGRhdGFbaV0gPiAqbWF4KSB7CiAgICAgICAgICAgICptYXggPSBkYXRhW2ldOyAgICAgCiAgICAgICAgICAgICptYXhfbnVtID0gMTsgICAgICAKICAgICAgICB9IGVsc2UgaWYgKGRhdGFbaV0gPT0gKm1heCkgewogICAgICAgICAgICAoKm1heF9udW0pKys7ICAgICAKICAgICAgICB9CiAgICB9Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIGludCBkYXRhMVs3XSA9IHsxMCwgMTUsIDMwLCAxNSwgMzAsIDMwLCA3fTsKICAgIGludCBkYXRhMls2XSA9IHsxMCwgMTAsIDEwLCAxMCwgMTAsIDEwfTsKCiAgICBpbnQgbWF4MSwgbnVtMTsKICAgIGludCBtYXgyLCBudW0yOwoKICAgIHNhaWRhaV9udW0oNiwgZGF0YTEsICZtYXgxLCAmbnVtMSk7IAogICAgc2FpZGFpX251bSg1LCBkYXRhMiwgJm1heDIsICZudW0yKTsgCgogICAgcHJpbnRmKCLphY3liJcxOiBtYXg9JWQsIOWAi+aVsD0lZFxuIiwgbWF4MSwgbnVtMSk7CiAgICBwcmludGYoIumFjeWIlzI6IG1heD0lZCwg5YCL5pWwPSVkXG4iLCBtYXgyLCBudW0yKTsKCiAgICByZXR1cm4gMDsKfQo=