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

Сортировка по одному из полей класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Map не заполняется корректно http://www.cyberforum.ru/cpp-beginners/thread1225481.html
Есть map <vector<int>,vector<int> . Хочу заполнить левый вектор. Пишу. void fillMap(std::vector<int>& incContainer,std::map< std::vector<int> ,std::vector<int> > map) { std::map< std::vector<int> ,std::vector<int> >::iterator cur = map.begin(); int expCount = incContainer.size()/3 + incContainer.size() % 3; //full expression count with not full arguments count std::vector<int> temp;...
C++ Отсортировать массив по возрастанию при помощи указателей Знаю как это сделать, при помощи индексирования элементов, но не могу указателями. Можете привести пример. массив int и сортировка например пузырьком. http://www.cyberforum.ru/cpp-beginners/thread1225477.html
C++ Для каждой строки массива найдите среднее арифметическое положительных чётных чисел
в целочисленном массиве A(n,m) для каждой строки найдите среднее арифметическое положительных чётных чисел. вот что есть #include <iostream> #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <math.h> const int M = 3; // число строк
C++ Итераторы: зачем используется оператор инкремента для потоков вывода?
Хотел уточнить зачем используется оператор инкремента для потоков вывода: void main(void) { std::ostream_iterator<int> output(cout, " "); *output++ = 123; *output++ = 4; }
C++ Осуществить преобразование массива из одномерного в двумерный http://www.cyberforum.ru/cpp-beginners/thread1225427.html
Вот код: void rand_fill(int** Aarr, int n, int m) { for (int i = 0; i<n; ++i) { for (int j = 0; j<m; ++j) { Aarr = rand() % 100 -30; }
C++ Как сконвертировать свой тип в тип double? Можно ли конвертировать свой тип в тип doble? Если да, то каким способом? подробнее

Показать сообщение отдельно
Kukurudza
104 / 85 / 6
Регистрация: 29.08.2012
Сообщений: 539
10.07.2014, 13:33     Сортировка по одному из полей класса
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
class MyClass {
public:
    int Id;
    std::string Name;
};
 
class comparatorID {
public:
    bool operator()(const MyClass& mc1, const MyClass& mc2) {
        return mc1.Id < mc2.Id;
    }
};
 
class comparatorName {
public:
    bool operator()(const MyClass& mc1, const MyClass& mc2) {
        return mc1.Name < mc2.Name;
    }
};
 
int _tmain(int argc, char* argv[]) {
    {
        typedef std::list<MyClass> MyClassList;
        MyClass mstr;
        MyClass *pmstr;
        MyClassList mstrlist;
 
        mstr.Id = 5;
        mstr.Name = "Name 1";
        mstrlist.push_back(mstr);
 
        mstr.Id = 8;
        mstr.Name = "Name 3";
        mstrlist.push_back(mstr);
 
        mstr.Id = 1;
        mstr.Name = "Name 2";
        mstrlist.push_back(mstr);
 
        for (auto& i : mstrlist) {
            std::cout << i.Id << "\t" << i.Name << std::endl;
        }
        std::cout << "\n";
 
        mstrlist.sort(comparatorID());
        for (auto& i : mstrlist) {
            std::cout << i.Id << "\t" << i.Name << std::endl;
        }
        std::cout << "\n";
 
        mstrlist.sort(comparatorName());
        for (auto& i : mstrlist) {
            std::cout << i.Id << "\t" << i.Name << std::endl;
        }
        std::cout << "\n";
    }
 
    return 0;
}
 
Текущее время: 06:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru