fork download
  1. #include <stdio.h>
  2.  
  3. void find_max_and_count(int size_minus_1, int *data, int *res_max, int *res_count) {
  4. int max = data[0];
  5. int count = 1;
  6.  
  7. for (int i = 1; i <= size_minus_1; i++) {
  8. if (data[i] > max) {
  9. max = data[i];
  10. count = 1;
  11. } else if (data[i] == max) {
  12. count++;
  13. }
  14. }
  15.  
  16. *res_max = max;
  17. *res_count = count;
  18. }
  19.  
  20. int main() {
  21.  
  22. int data1[] = {10, 15, 30, 15, 30, 30, 7};
  23. int size1_minus_1 = 6;
  24. int max1, count1;
  25.  
  26. find_max_and_count(size1_minus_1, data1, &max1, &count1);
  27. printf("配列1: 最大値 = %d, 個数 = %d\n", max1, count1);
  28.  
  29.  
  30. int data2[] = {10, 10, 10, 10, 10, 10};
  31. int size2_minus_1 = 5;
  32. int max2, count2;
  33.  
  34. find_max_and_count(size2_minus_1, data2, &max2, &count2);
  35. printf("配列2: 最大値 = %d, 個数 = %d\n", max2, count2);
  36.  
  37. return 0;
  38. }
Success #stdin #stdout 0s 5300KB
stdin
Standard input is empty
stdout
配列1: 最大値 = 30, 個数 = 3
配列2: 最大値 = 10, 個数 = 6