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

Sort vector, сортировка по двум полям структуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удаление элемента односвязного списка http://www.cyberforum.ru/cpp-beginners/thread1235368.html
Здравствуйте. Написал вот такой код. В программе происходит создание списка, вывод его на экран, а так же удаление первого элемента, меньшего заданного числа. Вот как раз с удалением возникла проблема: удаляется любой элемент списка, кроме первого. Когда хочу, чтоб удалился первый элемент, программа вылетает. Прошу помочь решить эту проблему. P. S. Числа при создании списка добавляются в...
C++ Прокомментировать код. QuickSort Напишите пожалуйста как можно подробнее комментарии к каждой строке, а то я точно чайник и мало что понимаю #include <iostream> #include <cstring> using namespace std; void quicksort(char *items, int len); http://www.cyberforum.ru/cpp-beginners/thread1235352.html
C++ Графический символ ASCII в русской локали (консоль)
Здравствуйте, нужно вывести символ \xB2 (заштрихованный прямоугольник) так все работает, но если объявить setlocale(LC_ALL,"RUS") так как нужна кириллица, то вместо квадратика вопросительный знак, как быть ?
C++ Как можно явно вызвать оператор преобразования?
Доброго времени суток Как можно явно вызвать такой оператор преобразования? struct CL { template <class A, class B, class C> operator double() { return 6.6;
C++ Классы - что это? http://www.cyberforum.ru/cpp-beginners/thread1235267.html
Что такое классы? Зачем они нужны? И как их использовать?
C++ Вызов стороннего приложения без полного пути Всем доброго времени суток! Подсобите в следующем вопросе пожалуйста: Язык C++ среда разработки Visual Studio 2012, мне требуется запустить стороннее приложение (.exe) с параметрами, аналогия со строкой cmd : lspl-find.exe -i arg1 -p arg2 -o arg 3 arg4, перерыл кучу инфы по этому поводу, нашел множество функций выполняющих данную задачу (spawnl, execl, ShellExecute, CreateProcess, ...), однако,... подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
29.07.2014, 12:15
Советую ознакомиться Функторы, предикаты, функциональные адаптеры, лямбда-функции
Добавлю до кучи вариант с лямбдами:
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
#include <algorithm>
#include <iostream>
#include <vector>
 
struct S
{
    int x, y, z;
};
 
int main()
{
    using vec_S = std::vector<S>;
    vec_S v = {{1, 9, 1000}, {3, 1, 1000}, {2, 1, 1000}, {1, 8, 1000}};
    auto print_v = [](const vec_S &vec)
    {
        for (auto el: vec)
            std::cout << "(" << el.x << ", " << el.y << ", " << el.z << ") ";
        std::cout << std::endl;
    };
 
    std::cout << "Before: ";
    print_v(v);
    std::sort(v.begin(), v.end(), [](const S &lhs, const S &rhs) { return lhs.x != rhs.x ? lhs.x < rhs.x : lhs.y < rhs.y; });
    std::cout << "After: ";
    print_v(v);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru