-Peer-

Подсчёт элементов последовательности равных наибольшему.

Oct 4th, 2019
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. /*
  2. Вводится непустая последовательность натуральных чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).  Определите, какое количество элементов этой последовательности, равны ее наибольшему элементу.
  3. */
  4.  
  5. #include <iostream>
  6. using namespace std;
  7. int main () {
  8.       int now, count = 0;            // count — счётчик результата, инициализируется нулём, т.к. в случае пустой последовательности никаких максимумов быть не может!!!
  9.       cin >> now;
  10.       int max = now;                 // max — кэш локального максимума, изначально равен первому элементу
  11.       while (now != 0) {
  12.          if (now == max)  ++count;   // счёт значений равных локальному максимуму
  13.          if (now > max) {            // считан новый локальный максимум? ↓↓↓
  14.             count = 1;               // ...возобновление счёта и...
  15.             max = now;               // ...признание нового локального максимума
  16.          }
  17.          cin >> now;
  18.       }
  19.       cout << count;
  20.   return 0;
  21. }
  22.  
  23. // Программа проверена на соответствие заданию! 👍
Add Comment
Please, Sign In to add comment