Найти максимальное число и подсчитать, сколько раз оно находится в массиве - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Need help Не получается посчитать максимальное число сколько раз оно находиться в массиве. Спасибо.
Листинг программы
  1. Code:
  2. #include <stdio.h>
  3. #define n 5
  4. int main()
  5. {
  6. int i, num[n], max, qty = 1;
  7. for (i = 0; i < n; i++)
  8. {
  9. printf("Please enter num %i\n", i);
  10. scanf("%i",&num[i]);
  11. }
  12. max = num[0];
  13. for (i = 0; i < n; i++)
  14. {
  15. if (num[i] > max)
  16. {
  17. max = num[i];
  18. }
  19. if (num[i] == max) // Need to calculate how many times the maximum number is. // тут проблема
  20. {
  21. qty++;
  22. }
  23. }
  24. printf("The highes number %i was times %d \n", max, qty); // need to print the max number and qty of maximum number.
  25. }
помогите нубу зарание спасибо.

Решение задачи: «Найти максимальное число и подсчитать, сколько раз оно находится в массиве»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. #define n 5
  4.  
  5. int main() {
  6.  
  7.     int i, num[ n ], max, qty = 0;
  8.  
  9.     for ( i = 0; i < n; ++i ) {
  10.         printf( "Please enter num %i\n", i );
  11.         scanf( "%i", &num[ i ] );
  12.     }
  13.  
  14.     max = num[ 0 ];
  15.  
  16.     // первый цикл - к концу первого цикла мы точно определим максимальное значение
  17.     // цикл начинаем с единицы - не нужно здесь с нуля
  18.     for ( i = 1; i < n; ++i )
  19.  
  20.         if ( num[ i ] > max )  // если нашли новое максмальное
  21.             max = num[ i ]; // запоминаем его значение
  22.  
  23.     // второй цикл - уже точно известно максимальное значение
  24.     // потому можем высчитать сколько раз оно встречается в массиве
  25.     for ( i = 0; i < n; ++i )
  26.         // если максимальное число встретилось нам в очередной раз
  27.         if ( num[ i ] == max )
  28.             ++qty; // тогда увеличим счётчик
  29.  
  30.     printf( "The highes number %i  was times %d \n", max, qty ); // need to print the max number and qty of maximum number.
  31.  
  32.     return 0;
  33. }

Объяснение кода листинга программы

  1. Подключение стандартной библиотеки для работы с консолью
  2. Определение размера массива n
  3. Объявление переменных:
    • i - счётчик для циклов
    • num[n] - массив для ввода чисел
    • max - переменная для хранения максимального числа
    • qty - переменная для хранения количества максимального числа
  4. Ввод чисел в массив с помощью цикла for и функции scanf
  5. Инициализация переменной max значением первого элемента массива
  6. Первый цикл for (от 1 до n-1) для поиска максимального числа
  7. Если текущий элемент массива больше max, то обновляем max
  8. Второй цикл for (от 0 до n-1) для подсчёта количества максимального числа
  9. Если текущий элемент массива равен max, то увеличиваем qty
  10. Вывод на экран максимального числа и количества его вхождений
  11. Возврат 0, означающий успешный завершение программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы