• На с++ пожалуйста, и как-нибудь попроще и без вектора
    Подсчитайте за один проход массива, сколько его элементов равны максимальному элементу.

    Входные данные
    На вход программе сначала подается значение n100 — количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива — целые числа, по модулю не превосходящие 30 000.

    Выходные данные
    Выдайте количество искомых элементов массива.

    Примеры
    входные данные
    8
    4 3 5 2 5 1 3 5
    выходные данные
    3

Ответы 2

  • int n100[5] = {1,2,3,4,5};

    int i = 0, j = 0, x = 0;

    for(i = 0; i < 5; i++){

    if(n100[5]>x){

    x=n100[i]; }

    else{

    if(n100[i]=x){

    j++; }

    }

    cout << j;

    Не запускал. Мысль проста, один цикл, за обход ищем максимальное иначе равное максимальному.

  • Насколько я понял n должна быть меньше или равна 100, верно? Тогда вот, он, может и не самый эффективный, но довольно понятный и работающий.

    #include <iostream>

    using namespace std;

    int main(){

    int n,maks,schetchik; /* n - это количество элементов массива, maks - думаю, знаешь, schetchik - высчитывает количество повторений максимального числа в массиве */

    cin >>n;

    if(n<=100){

    int a[n]; /*обьявляем количество эелементов массива и проверяем, чтобы его количество было меньше или равно 100*/

    for(int i=0;i<n;i++){ /*цикл for обьявляет переменную i, далее делая её текущим индексом элемента массива */

    cin >> a[i];

    if (a[i]>-30000 && a[i]<30000){ /* проверка условия, данного задачей */

    if(i==0){maks=a[i]; schetchik =1;}; /* особая разработка автора, максимальным элементом массива становиться самый первый элемент (ну по крайней мере, я ни у кого не видел) */

    if (i!=0 && maks == a[i]) {schetchik +=1;}; /* и ещё одна моя собственная разработка, проверка, не является ли элемент массива первым, а так же если он равен максимальному, то счетчик увел. на 1 */

    if (maks<a[i]) {maks = a[i]; schetchik = 1; }; /* а тут мы проверяем на то, не являеться ли текущий массив большим чем максимальный, если да, то счет сбрасывается и макс. равняется текущему числу */

    }

    }

    cout << schetchik; } //ну и вывод числа, всё довольно просто

    }

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years