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

Отсортировать multimap по pair->second - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Обработка строк с использованием указателей: вывести слова в два столбика, по четности их длины http://www.cyberforum.ru/cpp-beginners/thread1206861.html
Дана строка. Распечатать слова в два столбика. 1 столбик — слова, имеющие четное количество букв, а второй — нечётное. Добавлено через 42 секунды help! help!
C++ Сформировать матрицу 11*3 и поменять местами столбец, содержащий минимальный элемент, с первым столбцом помогите пожалуйста с заданием: из 33 положительных, отрицательных и нулевых значений чисел сформируйте матрицу 11*3. поменяйте местами столбец содержащий минимальный элемент, с первым столбцом, выдайте преобразованную матрицу. предусмотреть если минимум находится в 1 столбце. как вижу это я: 1) задание матрицы 2) поиск минимального значения 3)элемент1 записываем в память столбца н 4)... http://www.cyberforum.ru/cpp-beginners/thread1206858.html
Определить, попадает ли точка в область C++
определить, попадает ли точка с заданными координатами х,у в заштрихованную область. условие попадания точки в заштрихованную область записать одним предложением. область 1: x*x+y*y>=4; x<=-2, y>=2; область 2: x-2y<=0; 0<x<=2, -1<y<=0 подобные задачи встречались здесь на сайте, подобно им я попробовала сделать программу... #include<stdio.h> #include<conio.h> #include<math.h>
C++ Поиск элемента одной строки во второй с последующим исключением
Дано две строки, нужно сравнить и убрать из первой символы которые есть во второй. Например: 1: abcdeeedsasa 2: gjmxvde result: abcsasa Вот мой вариант кода(метод класса), но цикл завершается сразу после того как найдет одинаковый символ, т.е. 1: abcdeeedsasa 2: gjmxvde
C++ Массив структур или объект http://www.cyberforum.ru/cpp-beginners/thread1206847.html
есть класс class myclass { struct mystruct { int num;//номер char name;//имя }; }; Допустим, 10 сотрудников.
C++ Определить число листьев на каждом уровне дерева Нужно составить такую функцию. Именно на каждом отдельном уровне, а не по дереву вообще. подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2802 / 1578 / 247
Регистрация: 03.05.2010
Сообщений: 3,666
16.06.2014, 13:25     Отсортировать multimap по pair->second
Пояснения к программе, приведенной в предыдущем сообщении темы.
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/////////////////////////////////////////////////////////////////////////////////////////
//Эта программа демонстрирует упорядоченную вставку в мультимэп согласно компараторам
//для ключа и значения, т.е. для первого и второго элементов пары.
//В программе второй элемент пары называется mapped, а вся пара - значением.
//
//Вставка осуществляется следующим функтором:
/*
template< typename  TT_multimap_type >
struct  T_insert_with_ordering_in_multimap_with_comparator
{
    //-----------------------------------------------------------------------------------
    TT_multimap_type                                    &   multimap_;
    T_rand_rev_compare_val_with_comparators    const    &   swap_compare_val_;
    //-----------------------------------------------------------------------------------
    T_insert_with_ordering_in_multimap_with_comparator
        (
            TT_multimap_type                                    &   multimap,
            T_rand_rev_compare_val_with_comparators    const    &   swap_compare_val
        )
        :
        multimap_           ( multimap          ),
        swap_compare_val_   ( swap_compare_val  )
    {}
    //-----------------------------------------------------------------------------------
    void  operator()
        (
            T_value_type    const   &   val
        )
    {
        auto    lower_bound_it  =   multimap_.lower_bound( val.first );
 
        while   (
                        lower_bound_it  !=  multimap_.end()
                    &&  swap_compare_val_
                            (
                                val,
                                *lower_bound_it
                            )
                )
        {
            ++lower_bound_it;
        }
        multimap_.insert( lower_bound_it, val );
    }
    //-----------------------------------------------------------------------------------
};
*/
//в конструктор которого передается объект функтора-компаратора для всей пары, учитывающего 
//компараторы для ключа и значения, т.е. первого и второго элементов пары.
/*
struct  T_rand_rev_compare_val_with_comparators
{
    //-----------------------------------------------------------------------------------
    bool                                key_compare_is_less_;
    T_rand_mapped_compare   const   &   mapped_compare_;
    T_str                               message_;
    //-----------------------------------------------------------------------------------
    T_rand_rev_compare_val_with_comparators
        (
            bool                                key_compare_is_less,
            T_rand_mapped_compare   const   &   mapped_compare
        )
        :
        key_compare_is_less_    ( key_compare_is_less   ),
        mapped_compare_         ( mapped_compare        )
    {
        std::ostringstream  sout;
        sout    <<  "Ключи "
                <<  (
                        key_compare_is_less_
                            ?   "сравниваются на меньше"
                            :   "сравниваются на больше"
                    )
                <<  "."
                <<  std::endl
                <<  mapped_compare_.message_
                <<  "."
                <<  std::endl;
 
        message_    =   sout.str();
    }
    //-----------------------------------------------------------------------------------
    template< typename  TT_key_compare >
    bool  compare_val
        (
            T_value_type    const   &   L,
            T_value_type    const   &   R
        )                                       const
    {
        TT_key_compare  key_compare;
 
        return      key_compare             ( L.first,      R.first     )
                ||      !key_compare        ( R.first,      L.first     )
                    &&  mapped_compare_     ( L.second,     R.second    );
    }
    //-----------------------------------------------------------------------------------
    bool  operator()
        (
            T_value_type    const   &   L,
            T_value_type    const   &   R
        )                                       const
    {
        return  key_compare_is_less_
                    ?   compare_val     <   std::less       < T_key_type    >   >( R, L )
                    :   compare_val     <   std::greater    < T_key_type    >   >( R, L );
    }
    //-----------------------------------------------------------------------------------
};
*/
/////////////////////////////////////////////////////////////////////////////////////////
 
Текущее время: 22:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru