С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Упорядочить элементы структуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ пытаюсь написать браузер http://www.cyberforum.ru/cpp-beginners/thread1026122.html
Добрый день.Работаю в Visual C++. Сделал браузер на WebBrowser.Движок IE.Работает.Браузерная строка и 4 кнопки-перейти,обновить,вперед,назад. Но не пойму. 1)все время вылезает -произошла...
C++ вычислить и вывести на экран значение функции вычислить и вывести на экран значение функции F(x) на отрезке с шагом h=0.1 и точностью e. Результат работы программы представить в виде след.таблицы: №, Значение х, значение функции F(x), Кол-во... http://www.cyberforum.ru/cpp-beginners/thread1026119.html
Алгоритм std::set_union C++
Добрый вечер, попалась задача на данный алгоритм,библиотека <algorithm> подключена. Метод класса вызывается вот таким образом, pe.plansUnion(pe2);,где pe, pe2-объекты класса PlanEducation, в каждом...
C++ Сформировать и распечатать квадратную матрицу
Сформировать и распечатать квадратную матрицу А(10,10) следующего вида: 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 0 0 0 0...
C++ Код на С++ не корректно работает http://www.cyberforum.ru/cpp-beginners/thread1026104.html
Задача: В одномерном массиве A=(a1, а2, ..., аn) все положительные элементы, имеющие четный порядковый номер, переписать в начало массива. #include"stdafx.h" #include"iostream" #include"conio.h"...
C++ Написать программу, которая считывает линейный массив натуральных чисел из файла Пожалуйста помогите написать программу: 1.Написать программу, которая считывает линейный массив натуральных чисел из файла, имя которого вводится с клавиатуры, и выводит на экран те элементы,... подробнее

Показать сообщение отдельно
newbie666
Заблокирован
02.12.2013, 22:50
Цитата Сообщение от Alex_Skripa Посмотреть сообщение
Напиши будет над чем разобраться, и желательно чтоб работа с итераторами была, можно не эту программу а что нить другое(поменьше...)
пожалуйста, на этом простом примере надеюсь ты поймёшь как сортируются вектора по любому параметру структуры используя предикат
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
60
#include <tchar.h>
#include <vector>
#include <algorithm>
#include <string>
#include <iostream>
 
struct ITEM
{
    int id;
    char oneLetter;
    std::string fullString;
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    std::vector<ITEM> dataBase;
 
    ITEM item;
    //ЗАПОЛНЯЮ БАЗУ ДАННХ ЧЕМ УГОДНО И КАК УГОДНО
    item.id = 341;
    item.oneLetter = 'x';
    item.fullString = "PREVED MEDVED!";
    dataBase.push_back(item);
 
    item.id = 862;
    item.oneLetter = 'a';
    item.fullString = "POKA MEDVED!";
    dataBase.push_back(item);
 
    item.id = 124;
    item.oneLetter = 'n';
    item.fullString = "DUKE WILL NEVER DIE!!!";
    dataBase.push_back(item);
 
    //СОРТИРОВКА ПО id, ТРЕТИЙ АРГУМЕНТ []...И ТД - ЭТО ПРЕДИКАТ, ТОЕСТЬ ВСТРОЕННАЯ ФУНКЦИЯ, КОТОРАЯ ГОВОРИТ, КАК СОРТИРОВАТЬ
    std::sort(dataBase.begin(), dataBase.end(),[](const ITEM a, const ITEM b){return a.id < b.id;});    
    //ВЫКИДЫВАЕМ В КОНСОЛЬ
    std::cout << "SORT BY 'id'" << std::endl;
    for(auto it = dataBase.begin(); it != dataBase.end(); it++)
        std::cout << "ITEM: id= " << it->id << ", oneLetter = " << it->oneLetter << ", fullString = " << it->fullString << std::endl;
    std::cout << std::endl;
 
    //СОРТИРОВКА ПО oneLetter, условие сортировки такое же - так любой символ или строка имеет алфавитную сортировку встроенную
    std::sort(dataBase.begin(), dataBase.end(),[](const ITEM a, const ITEM b){return a.oneLetter < b.oneLetter;}); 
    //ВЫКИДЫВАЕМ В КОНСОЛЬ
    std::cout << "SORT BY 'oneLetter'" << std::endl;
    for(auto it = dataBase.begin(); it != dataBase.end(); it++)
        std::cout << "ITEM: ID = " << it->id << ", oneLetter = " << it->oneLetter << ", fullString = " << it->fullString << std::endl;
    std::cout << std::endl;
 
    std::cout << "SORT BY 'fullString'" << std::endl;
    //СОРТИРОВКА ПО fullString (одной букве), условие сортировки такое же - так любой символ или строка имеет алфавитную сортировку встроенную
    std::sort(dataBase.begin(), dataBase.end(),[](const ITEM a, const ITEM b){return a.fullString < b.fullString;}); 
    //ВЫКИДЫВАЕМ В КОНСОЛЬ
    for(auto it = dataBase.begin(); it != dataBase.end(); it++)
        std::cout << "ITEM: ID = " << it->id << ", oneLetter = " << it->oneLetter << ", fullString = " << it->fullString << std::endl;
    std::cout << std::endl;
 
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.