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

Самый редко встречающийся элемент в массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран сведения об однофамильцах содержащиеся в файле http://www.cyberforum.ru/cpp-beginners/thread1068749.html
Привет, ребят. Вы мне очень помогли с прошлой задачей) подскажите пожалуйста и с последней) я её начала немного делать( пробовала вносить данные в файлик, по методичке). Условие задачи такое: Создать текстовый файл, содержащий информацию о человеке – фамилия, имя, отчество, год рождения. Вывести на экран сведения об однофамильцах содержащиеся в файле. Дополнительных массивов не использовать....
C++ Неизвестная ошибка Ребята все работает все запускается, но ошибка не исчезает... Подскажите... http://www.cyberforum.ru/cpp-beginners/thread1068743.html
Обратится ко второму классу C++
Пытаюсь через вызов первого класса вывести info второго класса, но никак :(соответственно все разбиваю по файлам) Cfirst.h #ifndef CFIRST #define CFIRST class CFirst{ CSecond* second; //создаем обьект на второй класс public: CFirst(); //конструктор по умол CFirst(CSecond* Second); // конструктор с парам
C++ Приведение типов
В чем различие привидения типа (type)expression, от type(expression)?
C++ Выполнения кода раз в 5 минут http://www.cyberforum.ru/cpp-beginners/thread1068695.html
Привет, как сделать так, чтоб код выполнялся раз в 5 минут ? Знаю про Sleep(), но нужно чтоб код работал на Win,MacOS,Linux
C++ Вычислить сумму элементов массива с нечетными номерами Вычислить: 1)сумму элементов массива с нечетными номерами 2)сумму элементов массива, расположенных между первым и последним отрицательными элементами. Сжать массив, удалив из него все элементы, модуль которых не превышает единицу. Освободившиеся в конце массива элементы заполнить нулями. Массив задается пользователем. подробнее

Показать сообщение отдельно
outoftime
║XLR8║
506 / 428 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
11.01.2014, 21:32     Самый редко встречающийся элемент в массиве
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
#include <iostream>
#include <vector>
#include <map>
 
template<typename _Type, std::size_t _N>
auto minmax(const _Type (&array)[_N])
{
    std::map<_Type, int> couter;
    for (const _Type &elem : array)
        ++couter[elem];
 
    std::multimap<int, _Type> frequency;
    for (const auto &pair : couter)
        frequency.insert({pair.second, pair.first});
 
    std::vector<_Type> min, max;
    for (auto it = frequency.begin(); it != frequency.end()
        && it->first == frequency.begin()->first; ++it)
        min.push_back(it->second);
    for (auto it = frequency.rbegin(); it != frequency.rend()
        && it->first == frequency.rbegin()->first; ++it)
        max.push_back(it->second);
 
    return std::make_pair(min, max);
}
 
int main()
{
    int array[] = {1,2,3,4,5,6,7,3,77,2,4,2,6,2,33,5,6,2,3};
    auto res = minmax(array);
    for (const int &min : res.first)
        std::cout << min << " ";
    std::cout << std::endl;
    for (const int &max : res.second)
        std::cout << max << " ";
}
koto_fey, Жесть, думал будет меньше...

Добавлено через 25 минут
Зато сложность O(2*n*log(n))
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru