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

std::sort. Как сортировать список? (список указателей на объект) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дана матрица A(3,3) Найти максимальный элемент 2й строки среди элементов, удовлетворяющих условию -1,2<=A2i<=4,7 http://www.cyberforum.ru/cpp-beginners/thread426677.html
Дана матрица A(3,3) Найти максимальный элемент 2й строки среди элементов, удовлетворяющих условию -1,2<=A2i<=4,7 Заранее спасибо
C++ Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. Дана матрица A(3,3). Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. http://www.cyberforum.ru/cpp-beginners/thread426676.html
C++ Заменить на главной диагонали все отрицательные элементы их абсолютными значениями
Дана матрица A(3,3) 1.Заменить на главной диагонали все отрицательные элементы их абсолютными значениями. 2.Найти максимальный элемент 2й строки среди элементов, удовлетворяющих условию: -1,2<=a2i<=4,7 Заранее спасибо Да хоть 33-й семестр духовной семинарии, читай в правилах как надо темы называть!
C++ Как заменить объект в std::list?
Всем доброго времени суток, к делу. Как сменить объект в списке другим объектом? Вот например с вектором не вопрос. class Cat { public: void SetAge(int age) { itsAge = age; } int GetAge() const { return itsAge; } private: int itsAge;
C++ непонятки с матрицой http://www.cyberforum.ru/cpp-beginners/thread426657.html
Найти сумму модулей элементов, расположенных выше главной диагонали у меня проблемы ваще всегда с этими блин матрицами , корчое написал вот такую штуку , поправте где нитак #include<iostream.h> #include<conio.h> #include<math.h> main() { int a;
C++ Проблема в понимании кода! #pragma once #include "stdafx.h" #include <iostream> #include <string> #include <cstdlib> using namespace std; class Matx {int m; int n; public: подробнее

Показать сообщение отдельно
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
12.01.2012, 22:54  [ТС]     std::sort. Как сортировать список? (список указателей на объект)
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
struct Poet
{
    std::string lname; // фамилия
    std::string fname; // имя
};
 
struct Sort
{
public:
    bool operator() (const Poet *first, const Poet *second) 
    {
         return (first->lname < second->lname) && (first->fname < second->fname);
    }
    bool operator() (const Poet &first, const Poet &second)
    {
        return (first.lname < second.lname) && (first.fname < second.fname);
    }
};
 
void main()
{
    std::list<Poet*> listPoet;
 
    // создаём 4 поэтов
    Poet poet0, poet1, poet2, poet3;
 
    // заполняем
    poet0.lname = "Beta";
    poet0.fname = "Beta";
 
    poet1.lname = "Alpha";
    poet1.fname = "Alpha";
 
    poet2.lname = "Alpha";
    poet2.fname = "Beta";
 
    poet3.lname = "Beta";
    poet3.fname = "Alpha";
 
    // добавляем поэтов в список
    listPoet.push_back(&poet0);
    listPoet.push_back(&poet1);
    listPoet.push_back(&poet2);
    listPoet.push_back(&poet3);
 
    listPoet.sort(Sort());
 
    // показать всех 
    for(std::list<Poet*>::iterator it = listPoet.begin(); it != listPoet.end(); ++it)
        std::cout << (*it)->lname << " " << (*it)->fname << std::endl;
 
    std::cin.get();
}
Всё тоже самое. Не правильно сортирует
Вывод:
HTML5
1
2
3
4
Alpha Alpha 
Beta Beta
Alpha Beta
Beta Alpha
А должен:
HTML5
1
2
3
4
Alpha Alpha
Alpha Beta
Beta Alpha 
Beta Beta
 
Текущее время: 13:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru