1 / 1 / 0
Регистрация: 07.04.2018
Сообщений: 20
1

Подсчитать наибольшее количество повторений в массиве

17.07.2018, 02:30. Показов 4399. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задан массив.

К примеру:
1,5,8,3,5,8,4,6,8

Нужно вывести то число, где наибольше повторений.
В данном случае вывести, что это число 8 с 3 повторениями.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2018, 02:30
Ответы с готовыми решениями:

Найти в массиве наиболее повторяющийся элемент и подсчитать количество его повторений
Задача звучит так. Введите массив символов из 11 элементов. Определить самый часто встречающийся...

Подсчитать, каково наибольшее количество одинаковых элементов следуют подряд в массиве
Подсчитать, каково наибольшее количество одинаковых элементов следуют подряд в массиве

Вывести наибольшее количество повторений
Есть такой код: $data = "as 12x ,831 pre# 123"; $end = preg_replace("/\s/", "", $data); foreach...

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

9
392 / 262 / 193
Регистрация: 02.05.2017
Сообщений: 1,003
17.07.2018, 07:36 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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main(){
    srand(time(0));
    const int n(10);
    int arr[n],max(0),digit(0),counter(0);
    for(int i = 0;i<n;++i){
        arr[i] = rand() % 16;
        cout << arr[i] << " ";
    }
    for(int i = 0;i<n;++i){
        counter = 0;
        for(int j = i;j<n;++j)if(arr[i] == arr[j])++counter;
        if(counter > max){
            max = counter;
            digit = arr[i];
        }
    }
    cout << "\n" << digit << " " << max;
    
    cout << endl;
    return 0;
}
1
Модератор
Эксперт С++
13502 / 10754 / 6409
Регистрация: 18.12.2011
Сообщений: 28,699
17.07.2018, 08:59 3
Необходимо вывести на экран наибольшее количество повторений чисел
И др. ссылки внизу страницы
0
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
17.07.2018, 09:54 4
Как вариант:
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
// prg_title max repeat count in array
#include<iostream>
#include<algorithm>
using namespace std;
int main(int argv, char*argc[])
{
int n[]={1,5,8,3,5,8,4,6,8};
int sz=sizeof(n)/sizeof(*n);
sort(&n[0],&n[sz]);
int countRepeats(0), newCount, maxRepVal(n[0]);
int *lower, *upper;
for(int i=0; i<sz; ++i)
{
    lower   =   lower_bound(&n[0],&n[sz],n[i]);
    upper   =   upper_bound(&n[0],&n[sz],n[i]);
    newCount=upper - lower;
    countRepeats = countRepeats < newCount
    ? maxRepVal=n[i], newCount
    : countRepeats
    ;
}
cout<<maxRepVal<<" was found "<<countRepeats<<" times\n";
 cin.get();
    return 0;
}

Не по теме:

форум глючит ураганно. Повторы, медленная отправка, сообщения о частоте не более 5 раз в секунду (или чивототам :D )

0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
17.07.2018, 15:25 5
LegionK, при дублировании выводит только первое:
15 15 4 2 10 8 4 10 5 5
15 2
0
392 / 262 / 193
Регистрация: 02.05.2017
Сообщений: 1,003
17.07.2018, 15:44 6
Yetty, вы и тут хотите спорить насчет формулировки тем? Хорошо.
Во-первых :
Цитата Сообщение от Unior1 Посмотреть сообщение
Нужно вывести то число
. Надеюсь,что за все годы своей,несомненно, яркой жизни вы должны были научиться различать множественное число от единственного.

Во-вторых : Я не хочу ни с кем спорить и разводить холивары. Давайте, в будущем (надеюсь недалеком) вы поймете простую истину - мне все равно на такие замечания, я не понимаю чего вы пытаетесь добиться, когда указываете мне на такие мелкие нюансы. И сразу дам совет - если вам что-то не нравится в моем решении - скиньте свой,правильный, по вашему мнению, код, не обращаясь по пути ко мне, с такими замечаниями. Автор, я думаю, не "глупый человек", и сможет выбрать решающий проблему код. Довольно действенно, поверьте
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
17.07.2018, 16:09 7
Цитата Сообщение от LegionK Посмотреть сообщение
научиться различать множественное число от единственного.
вот и научитесь а заодно и понимать что к чему относится
Цитата Сообщение от Unior1 Посмотреть сообщение
Нужно вывести то число
относится к примеру:
Цитата Сообщение от Unior1 Посмотреть сообщение
К примеру:
1,5,8,3,5,8,4,6,8
Нужно вывести то число, где наибольше повторений.
В данном случае вывести, что это число 8 с 3 повторениями.
в этом примере одно число. это число 8.

а для задачи естественно нужно вывести все числа. чем по Вашему мнению число 15 уникальнее числа 10 или 5 в примере 15 15 4 2 10 8 4 10 5 5? тем что находится ближе к началу массива ?

Добавлено через 6 минут
кстати есть вариант, что ТС путает количество повторений и наиболее повторяемое число.

Unior1, напишите оригинал условия задачи.
0
1 / 1 / 0
Регистрация: 07.04.2018
Сообщений: 20
17.07.2018, 18:37  [ТС] 8
Все правильно, спасибо первому автору за ответ.
Условие понял правильно.
0
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
17.07.2018, 18:47 9
Цитата Сообщение от Unior1 Посмотреть сообщение
Условие понял правильно.
Это условие нельзя понять правильно. Но можно угадать. Что видимо и сделал LegionK, которого вы называете первым автором. Прослеживается какая-то закономерность в нежелании говорить точно по предмету.
Как бы там ни было, было бы интересно увидеть условие дословно.
0
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
17.07.2018, 19:40 10
Цитата Сообщение от Yetty Посмотреть сообщение
при дублировании выводит только первое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
 
int main()
{
    std::vector <int> v { 15, 15, 4, 2, 10, 8, 4, 10, 5, 5 };
    std::map<int, int> mp;
    for (const auto &x : v)
        ++mp[x];
    auto sec_max_mp = std::max_element(mp.cbegin(), mp.cend(), [](const auto &first, const auto &last)
    {return first.second < last.second; })->second;
 
        for (const auto &[key, val] : mp) {
            if (val == sec_max_mp)
            std::cout << key << "--->" << val << '\n';
        }
    system("pause");
}
0
17.07.2018, 19:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2018, 19:40
Помогаю со студенческими работами здесь

Подсчитать количество повторений
Есть таблица и как создать чтобы считала сколько раз повторялась значение? Таблицу вложил!

Подсчитать количество сочетаний без повторений
Здравствуйте. Есть задача найти количество сочетаний 2 массивов без повторений. Например, есть 2...

Подсчитать количество повторений каждой буквы
У меня считает буквы на первой строке, выводит их в файл, потом считает на второй строке и опять...

Подсчитать количество повторений слова в тексте
Не могу придумать (

Подсчитать количество повторений всех слов
Пример программы: // Программа открывает для чтения файл, имя которого задано первым //...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru