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

Сортировка собственных типов данных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти все двузначные числа, которые при умножении на 2 заканчиваются на 8, а при умножении на 3 - на 4. http://www.cyberforum.ru/cpp-beginners/thread744926.html
Привет мозги, нужно решить задачу по Си++. Найти все двузначные числа, которые при умножении на 2 заканчиваются на 8, а при умножении на 3 - на 4. Вот кодец. { int ymnozna2,ymnozna3,i,j; for(i=10;i<=99;i++) //Формирую 2ухзначные числа ymnozna2=i*2; if (ymnozna2%10==8) cout<<"I = "<<i<<endl; //умножении на 2 заканчиваются на 8
C++ Программа, определяющая корректность описания целых переменных Помогите пожалуйста написать программу, определяющую корректность описания целых переменных. Вот пока что есть. #include <stdio.h> #include <conio.h> void main() { int i=1; char c; FILE *aa; http://www.cyberforum.ru/cpp-beginners/thread744923.html
C++ Паттерн Visitor для дерева
Есть у кого нибудь такой код? Буду благодарен!
Как произвести табуляцию функции? C++
Протабулируйте функции. отрезок и шаг вводится с клавиатуры: arctg(1/x) - x2
C++ Turbo c обработка текста http://www.cyberforum.ru/cpp-beginners/thread744909.html
Здравствуйте! Помогите решить задачу. Нужно найти и напечатать слово, в котором содержится больше символов "А". Словом считать последовательность букв, разделенных пробелами.
C++ Нужно перевести из С++ в C строку с выделением памяти в куче Есть функция, для определения...что ли длинны записанного в файле. int length() { int len=0; Node tmp; if(!(f=fopen("1.txt","r"))) puts("Файла не существует. Создайте файл"); else while(!feof(f)) подробнее

Показать сообщение отдельно
Avazart
7066 / 5243 / 263
Регистрация: 10.12.2010
Сообщений: 23,070
Записей в блоге: 17
25.12.2012, 00:38     Сортировка собственных типов данных
Варианты:

1. Для применение стандартной сортировки достаточно перегрузить операторы сравнения < > != == итд. в вашем классе
2. Можно определить функтур который будет определять как будут сравниваться объекты вашего класса
3. При поддержке нового стандарта можно использовать лямбда-выражения

Добавлено через 11 минут
Последний вариант :
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
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
//--------------------------------------------------------
using namespace std;
//--------------------------------------------------------
class my
{
  public:
   int id;
   string name;
 
   my(int _id=0, string _name=string() ):id(_id),name(_name){}
};
//--------------------------------------------------------
int main()
{
    std::vector<my> v;
    v.push_back(my(1,"first")  );
    v.push_back(my(2,"second") );
    v.push_back(my(3,"third ") );
 
    sort(v.begin(),v.end(),[](const my& a,const my& b){ return a.id>b.id; } );
 
    for_each(v.begin(),v.end(),[](const my& obj){ cout<<obj.id<<"\t"<<obj.name<<endl; } );
 
    return 0;
}
//--------------------------------------------------------
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru