Форум программистов, компьютерный форум CyberForum.ru

Найти количество элементов, наиболее часто встречающихся в массиве - C++

Восстановить пароль Регистрация
 
BOR1K
 Аватар для BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
24.03.2010, 19:20     Найти количество элементов, наиболее часто встречающихся в массиве #1
Найти кол-во элементов наиболее частых встречающихся в массиве.

например массив:

123000
023400
023450
003456

0-не считается. очевидно тут 3. но как это найти? Найти надо не кол-во, а значение!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2010, 19:20     Найти количество элементов, наиболее часто встречающихся в массиве
Посмотрите здесь:

C++ 20 наиболее часто встречающихся слов
C++ Дан непустой массив из цифр. Вывести на экран цифру наиболее часто встречающихся в этом массиве.
Поиск наиболее часто встречающихся слов в файле C++
Получить 10 наиболее часто встречающихся слов из файла C++
C++ Перевод с C# на С++ (в заданном тексте найти 20 наиболее часто встречающихся слов с указанием количества использования каждого из них)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
UKOL
 Аватар для UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
24.03.2010, 19:29     Найти количество элементов, наиболее часто встречающихся в массиве #2
Используй счетчики

++count[massiv[i]];

потом сравнивай какой больше и выводи результат. Выведешь и количество и значение заодно
BOR1K
 Аватар для BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
24.03.2010, 19:53  [ТС]     Найти количество элементов, наиболее часто встречающихся в массиве #3
а можно пример?
UKOL
 Аватар для UKOL
112 / 64 / 7
Регистрация: 17.11.2009
Сообщений: 258
24.03.2010, 20:46     Найти количество элементов, наиболее часто встречающихся в массиве #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
26
27
28
29
30
31
32
33
34
35
36
37
#include<iostream>
using namespace std;
#include<iomanip>
 
int main()
{
    int max=0;
    int znachenie=0;
    const int arraySize = 24;
    int massiv[arraySize] =    {1,2,3,0,0,0,
                                0,2,3,4,0,0,
                                0,2,3,4,5,0,
                                0,0,3,4,5,6};
    const int chisla = 9;
    int count[chisla]={0}; // счетчики, 9 - это т.к. элементы 0..9, т.е. 9 счетчиков 
    //если двузначные увеличивай до 100. если трех то 1000
    for(int i=0;i<arraySize;i++)
    {
        count[massiv[i]]++;//пробегаешь по элементам и записываешь одинаковые элементы в счетчики
        //т.е. собираешь кол-во одинаковых
    }
 
 
    //теперь сравнение и нахождение максимального счетчика с элементами, тот который больше тот и макс
    max=count[1];//делаем макс 1,
    for(int i=2;i<chisla;i++)//i=1 т.к. нам не надо считать нули
    {
        if(count[i]>max)
        {
            max=count[i];
            znachenie=i;
        }
    }
    cout << "Maximalniy element: " << znachenie << ". Kolichestvo povtoreniy: " << max << endl;
 
    return 0;
}
Добавлено через 19 минут
Забыл, сделай после
max=count[1];

znachenie=1;


А то будет 0 будет выходить, если единиц больше
Yandex
Объявления
24.03.2010, 20:46     Найти количество элементов, наиболее часто встречающихся в массиве
Ответ Создать тему
Опции темы

Текущее время: 21:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru