Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 15.03.2018
Сообщений: 5

Выведите число, которое встретилось в последовательности наибольшее число раз

15.03.2018, 21:18. Показов 2211. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача для С++:
Дано число n - чётное. Далее идут n натуральных чисел, каждое из которых не превосходит 1000. Выведите число, которое встретилось в последовательности наибольшее число раз.
Какой код должен быть?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.03.2018, 21:18
Ответы с готовыми решениями:

Найти число, которое встречается в последовательности наибольшее количество раз
Задана последовательность, содержащая n целых чисел. Необходимо найти число, которое встречается в этой последовательности наибольшее...

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

Как найти число, которое повторяется наибольшее количество раз?
textBox1 получает текст: 300 301 301 301 300 300 301 302 302

16
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
15.03.2018, 21:20
Так же, как и с массивами.
0
 Аватар для igorrr37
2872 / 2019 / 991
Регистрация: 21.12.2010
Сообщений: 3,755
Записей в блоге: 9
16.03.2018, 07:20
по типу сортировки подсчётом
https://ru.wikipedia.org/wiki/... 0%BE%D0%BC
0
0 / 0 / 0
Регистрация: 15.03.2018
Сообщений: 5
16.03.2018, 07:23  [ТС]
Можно показать решение?
0
 Аватар для igorrr37
2872 / 2019 / 991
Регистрация: 21.12.2010
Сообщений: 3,755
Записей в блоге: 9
16.03.2018, 07:55
Лучший ответ Сообщение было отмечено Владимир001 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
#include <algorithm>
 
 
int main()
{
    int n = 6;
    int num;
    std::vector<int> vec(1000, 0);
    for (int i = 0; i < n; ++i)
    {
        std::cin >> num;
        ++vec.at(num - 1);
    }
    std::cout << std::max_element(vec.cbegin(), vec.cend()) - vec.cbegin() + 1 << std::endl;
}
1
 Аватар для Hitoku
1755 / 1347 / 1407
Регистрация: 28.10.2016
Сообщений: 4,267
16.03.2018, 19:13
Как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <vector>
#include <algorithm>
 
int main() {
    int n, max = 0; std::cin >> n;
    std::vector<std::pair<int, int>> p;
    for (int i = 0; i < n; i++) {
        int x = 1001;
        while (x > 1000)
            std::cin >> x;
        if (std::count_if(p.begin(), p.end(), [&x](std::pair<int, int> e) { return e.first == x; }) > 0)
            p[std::distance(p.begin(), std::find_if(p.begin(), p.end(),
                [&x](std::pair<int, int> e) {return e.first == x; }))].second++;
        else p.push_back(std::make_pair(x, 1));
    }
    for (int i = 1; i < p.size(); i++)
        if (p[i].second > p[max].second) max = i;
    std::cout << "Max = " << p[max].first << "; Count = " << p[max].second << "\n";
    system("pause");
    return 0;
}
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
16.03.2018, 20:40
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main() {
    size_t n;
    std::cin >> n;
    std::vector<int> a(std::istream_iterator<int>(std::cin), {});
    std::sort(a.begin(), a.end());
    int number = a.front();
    size_t max_count = 1;
    size_t count = 1;
    for (size_t i = 1; i < a.size(); i++) {
        if (a[i] == a[i-1]) count++;
        else {
            if (count > max_count)
                max_count = count, number = a[i-1];
            count = 1;
        }
    }
    if (count > max_count) number = a.back();
    std::cout << number;
}
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
16.03.2018, 20:43
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
using namespace std;
int numbers[1005];
int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        int tmp;
        cin>>tmp;
        numbers[tmp]++;
    }
    int mx = 0;
    int toPrint = 0;
    for(int i = 1; i <= 1000; i++)
    {
        if (numbers[i] > mx)
        {
            mx = numbers[i];
            toPrint = i;
        }
    }
    cout<<toPrint;
    return 0;
}
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
16.03.2018, 20:44
Цитата Сообщение от Владимир001 Посмотреть сообщение
каждое из которых не превосходит 1000
Не заметил. Тогда мое решение тупое.
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
16.03.2018, 20:44
Цитата Сообщение от Новичок Посмотреть сообщение
Не заметил. Тогда мое решение тупое.
А мое наибыстрейшее
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
16.03.2018, 20:45
Цитата Сообщение от Aymurat Посмотреть сообщение
for(int i = 0; i < 1000; i++)
Либо тут <= либо numbers[--tmp]++;
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
16.03.2018, 20:45
Цитата Сообщение от Новичок Посмотреть сообщение
Либо тут <= либо numbers[--tmp]++;
Я это исправил 5 сек спустя)
0
0 / 0 / 0
Регистрация: 15.03.2018
Сообщений: 5
16.03.2018, 22:29  [ТС]
Как переписать данный алгоритм за n, а не за n^2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
using namespace std;
 
main(){
    int i,j,n;
    int* a = new int[n];
    for(i=0;i<=n;i++){
        cout<<"a["<<i<<"]:"<<endl;
        cin>>a[i];
    }
 
    int z=a[0],max=1,k;
    for(i=0;i<n;i++){
        k=1;
 
        for (j=i+1;j<=n;j++){
            if(a[i]==a[j]){
                k++;
            }
        }
        if(max<k){
            max=k;
            z=a[i];
        }
    }
    cout<<"Chislo: "<<z<<endl;
    return 0;
}
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
16.03.2018, 22:31
Использовать unoredered_map.
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
16.03.2018, 22:33
Интересно, какое значение имеет n?))) дайте полностью задание)
0
0 / 0 / 0
Регистрация: 15.03.2018
Сообщений: 5
16.03.2018, 22:34  [ТС]
Цитата Сообщение от Новичок Посмотреть сообщение
unoredered_map.
Как?

Добавлено через 43 секунды
Цитата Сообщение от -ДоМоВоЙ- Посмотреть сообщение
Интересно, какое значение имеет n?))) дайте полностью задание)
Дано число n - чётное. Далее идут n натуральных чисел, каждое из
которых не превосходит 1000. Выведите число, которое встретилось в
последовательности наибольшее число раз.
0
16.03.2018, 22:52
 Комментарий модератора 
Владимир001, хватит создавать новые темы для одной и той же задачи. Это противоречит правилам форума. Читайте правила, иначе будут санкции
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.03.2018, 22:52
Помогаю со студенческими работами здесь

Определить число, встречающееся в последовательности наибольшее количество раз (массивы)
Определить,какое число в последовательности встречается наибольшее кол-во раз. Если таких элементов несколько то вывести их последовательно...

Выведите одно целое число — максимальное число, которое могло получиться в протоколе при игре на данном поле
У Пети имеется игровое поле размером 3×3 , заполненное числами от 1 до 9. В начале игры он может поставить фишку в любую клетку поля. На...

Выведите одно целое число — максимальное число, которое могло получиться в протоколе при игре на данном поле
У пети имеется игровое поле размером 3х3, заполненное числами от 1 до 9. В начале игры он может поставить фишку в любую клетку поля. На...

Вывести латинскую букву, встречающуюся во входной последовательности наибольшее число раз
На вход программе подаётся последовательность символов, заканчивающаяся символом &quot;#&quot;. Другие символы &quot;#&quot; во входной...

Указать то дробное число. которое в двоичном представлении имеет наибольшее число единиц среди чисел
Указать то дробное число и его порядковый номер при вводе. которое в двоичном представлении имеет наибольшее число единиц среди чисел, уже...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru