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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Выделить подстроку, которая соответствует записи вещественного числа с плавающей точкой http://www.cyberforum.ru/cpp-beginners/thread957166.html
Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков «+» и «–». Выделить подстроку, которая соответствует записи вещественного числа с плавающей точкой.
C++ создать таблицу и ввести в нее данные по номеру Хочу сделать таблицу-простую-номера столбцов 1 2 3 4 5 6 7 8 9 10 1a 1b 1c 1d 1e 1f-шестнадцатиричная система. Строки-обычные 12345678910-до 10000 например.Потом надо ввести в ячейку например номер 1c20 символ f. И еще как брать символ из файла по номеру,и количество символов с определенного слова или символа. http://www.cyberforum.ru/cpp-beginners/thread957165.html
C++ Указатель на статический трехмерный массив
Как сделать указатель на статический трехмерный массив? Почему компилятор сам не определяет размер массива,а выбивает ошибку int mass= { { { {1}, {1} }, { {1}, {1} } }, { { {1}, {1} }, { {1}, {1} } } };
Спецификатор typedef C++
Не могу понять как работает спецификатор typedef... Прочитал про него достаточно инфы и он везде сравнивается с директивой #define с той лишь разницей, что он запускается на этапе компиляции а не препроцессора и более совершенный в том смысле, что он является именно новым типом данных, а не просто подстановкой - это все понятно, но следующая конструкция не может найти в моей голове логического...
C++ Написать программу, которая находит площадь квадрата http://www.cyberforum.ru/cpp-beginners/thread957114.html
Помогите написать программу на С++ которая находит площадь квадрата. Помогите пожалуйста.
 

Показать сообщение отдельно
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
18.09.2013, 17:29     Сортировка по одному из полей std::vector
Примерно так (через лямбду):
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
#include <iostream>
#include <string>
#include <functional>
#include <algorithm>
#include <windows.h>
 
class Person
{
   std::string fname, sname;
public:
   Person(const char* f, const char* s): fname(f), sname(s) {}
 
   std::string get_fname() const {return fname;}
   std::string get_sname() const {return sname;}
 
   void print() const {std::cout << fname << ", " << sname << std::endl;}
};
 
int main()
{
   SetConsoleCP (1251); SetConsoleOutputCP (1251);
 
   std::vector<Person> vp;
   vp.push_back(Person("Vova", "Ivanov"));
   vp.push_back(Person("Sveta", "Bulanova"));
   vp.push_back(Person("Vera", "Fifa"));
   vp.push_back(Person("Vovka", "Slimakov"));
   vp.push_back(Person("Chack", "Norris"));
 
   std::for_each(vp.begin(), vp.end(), std::mem_fn(&Person::print));
 
   //сортируем по втором имени:
   std::sort(vp.begin(), vp.end(), [](const Person& p1, const Person& p2){return p1.get_sname() < p2.get_sname();});
   std::cout << "\n\n\n";
   std::for_each(vp.begin(), vp.end(), std::mem_fn(&Person::print));
 
   return 0;
}
 
Текущее время: 06:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru