Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
akk
44 / 44 / 17
Регистрация: 28.01.2012
Сообщений: 341
29.08.2013, 14:58 0

Написать пару функций Max, возвращающих то из чисел, которое было передано большее число раз

29.08.2013, 14:58. Просмотров 513. Ответов 11
Метки (Все метки)

Ответ

bgm123, Все сводится в поиске максимального количества встречающихся элементов в массиве (векторе). Конечно, мой код не супер, особенно с поиском элементом, но работает)))
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <algorithm>
#include <vector> 
int max(const int&, const int&);
using namespace std;
 
int main()
{
            max(42,2);
            max(3,4);
            max(5,6);
            max(3,42);
    cout<<  max(42,42)<<endl;
 
    return 0;
}
 
int max(const int& a, const int& b)
{
    int idx=0;
    static vector<int> number;
    number.push_back(a);
    number.push_back(b);
    
    
    vector<int> count(number.size(), 0);
    
    sort(number.begin(), number.end());
 
    for(int i = 0; i<number.size()-1; ++i)
        for(int j = i+1; j<number.size(); ++j)
        {
            if(number[i]==number[j])
            {
                count[i]++;
            }
            else 
            {
                i=j;
                break;
            }
                
        }
        
 
    vector<int>::const_iterator it = find(count.begin(), count.end(), *max_element(count.begin(), count.end()));
    if ( it!=count.end() ) 
        idx = it - count.begin();
        
    return number[idx];
    
 
}


Вернуться к обсуждению:
Написать пару функций Max, возвращающих то из чисел, которое было передано большее число раз
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2013, 14:58

Найти минимальное число, большее n, которое нацело делится на 19
Дано число n. Необходимо найти минимальное число, большее n, которое нацело...

Найти минимальное число, большее n, которое нацело делится на 19
Дано число n. Необходимо найти минимальное число, большее n, которое нацело...

Напечатать минимальное число, большее 200, которое делится на 17
Напечатать минимальное число,большее 200,которое делиться на 17.

0
Другие темы раздела
C++ Оператор для xor шифрования http://www.cyberforum.ru/cpp-beginners/thread945389.html
Разматриваю пример шифрования, возник детский вопрос ^ что делает этот оператор?
C++ Класс Time через time(0) Всем привет. На форуме искал ничего похожего не нашол. Не могу до конца разобраться. В класе 1 член, который держит секунды, которые берутся в конструкторе функцией time(0). Нада вывести... http://www.cyberforum.ru/cpp-beginners/thread945388.html
C++ Почему я не могу создать статический элемент класса fstream?
Ошибка: Compiling... static_fstream.cpp Linking... static_fstream.obj : error LNK2001: unresolved external symbol "private: static class std::basic_fstream<char,struct std::char_traits<char> >...
C++ Нарисовать карту, отслеживать координаты остановок
Задача заключается в том что надо нарисовать карту в которой есть дороги, остановки, маршрутные пути... При в воде 2-х остановок программа должна показать все возможные номера маршруток на которых...
C++ Обпределение запуска программы http://www.cyberforum.ru/cpp-beginners/thread945264.html
Доброго времени суток. Если есть одна программа и она запущенна, то как можно определить, что эту же саммую программу запускают еще раз (с коммандной строки например с другими аргументами) и не...
C++ Форумчане разъясните #pragma once) #pragma once и #ifndef Variables_h_ #define Variables_h_ .... #endif это что одно и тоже? первый вариант свежий а второй старьё что ли?) подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru