#include <stdio.h>
void saidai_num(int kosuu, int data[], int *max, int *max_num) {
*max = data[0]; // 最初の要素を最大値の初期値とする
*max_num = 1; // 最大値の個数を1で初期化
// 1番目からkosuu番目まで比較
for (int i = 1; i <= kosuu; i++) {
if (data[i] > *max) {
// 新しい最大値が見つかった場合
*max = data[i];
*max_num = 1; // 個数を1にリセット
} else if (data[i] == *max) {
// 現在の最大値と同じ値が見つかった場合
*max_num = *max_num + 1;
}
}
}
int main() {
int data1[] = {10, 15, 30, 15, 30, 30, 7};
int max1, num1;
saidai_num(6, data1, &max1, &num1);
int data2[] = {10, 10, 10, 10, 10, 10};
int max2, num2;
saidai_num(5, data2, &max2, &num2);
printf("配列1 -> 最大値: %d, 個数: %d\n", max1
, num1
); // 期待値: 30, 3 printf("配列2 -> 最大値: %d, 個数: %d\n", max2
, num2
); // 期待値: 10, 6
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHNhaWRhaV9udW0oaW50IGtvc3V1LCBpbnQgZGF0YVtdLCBpbnQgKm1heCwgaW50ICptYXhfbnVtKSB7CiAgICAqbWF4ID0gZGF0YVswXTsgICAgICAgLy8g5pyA5Yid44Gu6KaB57Sg44KS5pyA5aSn5YCk44Gu5Yid5pyf5YCk44Go44GZ44KLCiAgICAqbWF4X251bSA9IDE7ICAgICAgICAgLy8g5pyA5aSn5YCk44Gu5YCL5pWw44KSMeOBp+WIneacn+WMlgogICAgCiAgICAvLyAx55Wq55uu44GL44KJa29zdXXnlarnm67jgb7jgafmr5TovIMKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IGtvc3V1OyBpKyspIHsKICAgICAgICBpZiAoZGF0YVtpXSA+ICptYXgpIHsKICAgICAgICAgICAgLy8g5paw44GX44GE5pyA5aSn5YCk44GM6KaL44Gk44GL44Gj44Gf5aC05ZCICiAgICAgICAgICAgICptYXggPSBkYXRhW2ldOwogICAgICAgICAgICAqbWF4X251bSA9IDE7IC8vIOWAi+aVsOOCkjHjgavjg6rjgrvjg4Pjg4gKICAgICAgICB9IGVsc2UgaWYgKGRhdGFbaV0gPT0gKm1heCkgewogICAgICAgICAgICAvLyDnj77lnKjjga7mnIDlpKflgKTjgajlkIzjgZjlgKTjgYzopovjgaTjgYvjgaPjgZ/loLTlkIgKICAgICAgICAgICAgKm1heF9udW0gPSAqbWF4X251bSArIDE7CiAgICAgICAgfQogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIGludCBkYXRhMVtdID0gezEwLCAxNSwgMzAsIDE1LCAzMCwgMzAsIDd9OwogICAgaW50IG1heDEsIG51bTE7CiAgICBzYWlkYWlfbnVtKDYsIGRhdGExLCAmbWF4MSwgJm51bTEpOwogICAgCiAgICBpbnQgZGF0YTJbXSA9IHsxMCwgMTAsIDEwLCAxMCwgMTAsIDEwfTsKICAgIGludCBtYXgyLCBudW0yOwogICAgc2FpZGFpX251bSg1LCBkYXRhMiwgJm1heDIsICZudW0yKTsKCiAgICBwcmludGYoIumFjeWIlzEgLT4g5pyA5aSn5YCkOiAlZCwg5YCL5pWwOiAlZFxuIiwgbWF4MSwgbnVtMSk7IC8vIOacn+W+heWApDogMzAsIDMKICAgIHByaW50Zigi6YWN5YiXMiAtPiDmnIDlpKflgKQ6ICVkLCDlgIvmlbA6ICVkXG4iLCBtYXgyLCBudW0yKTsgLy8g5pyf5b6F5YCkOiAxMCwgNgoKICAgIHJldHVybiAwOwp9