Как найти количество вхождений самого большого элемента последовательности в C ++? - PullRequest
0 голосов
/ 10 июля 2020

Здесь новичок в C ++. Я пытаюсь написать программу без использования массивов , которая будет принимать число N и позволять пользователю писать последовательность элементов, состоящую из числа N (например, N это 5 , тогда последовательность элементов должна состоять из 5 целых чисел (например, 8,21,7,21,10)). Затем программа должна подсчитать, сколько входит максимальный элемент последовательности (в примере вывод должен быть 2 , потому что максимальное число - 21 , что встречается 2 раз). Вот код, который я написал до сих пор, который определяет максимальный номер последовательности.

#include <iostream>
#include <limits.h>
using namespace std;

int main() {
  int n , n_seq, count = 0;
  int max = INT_MIN;
  
  
  cin>>n;
  for(int i = 0; i < n; i++)
  {
    cin>>n_seq;

    if(n_seq > max)
    {
      
      max = n_seq;
      
    }    
  }  
  cout<<max;
}

Но я не могу понять остальное о том, как увеличить count переменная каждый раз, когда происходит максимальное число.

Ответы [ 3 ]

1 голос
/ 10 июля 2020
#include <iostream>
#include <limits.h>

using namespace std;

int main() {
    int n, n_seq, count = 0;
    int max = INT_MIN;


    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> n_seq;

        if (n_seq > max) {
            count = 1;
            max = n_seq;
        } else if(max == n_seq)
            ++count;

    }
    std::cout << max << std::endl;
    std::cout << count << std::endl;
}
1 голос
/ 10 июля 2020
#include <iostream>
#include <limits.h>
using namespace std;

int main() {
  int n , n_seq, count = 0;
  int max = INT_MIN;
  
  
  cin>>n;
  for(int i = 0; i < n; i++)
  {
    cin>>n_seq;

    if(n_seq > max)
    {          
      max = n_seq;
      count = 1;
    }    
    else if(n_seq == max){
      count++;
    }
  }  
  cout<<max;
}
1 голос
/ 10 июля 2020

Вам нужно увеличить счет, когда n_seq == max и когда вы встретите новое максимальное число, вам нужно сбросить счетчик:

if(n_seq > max)
{
  counter = 1;
  max = n_seq;
  
} else if (n_seq == max) {
   ++count;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...