Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 02.07.2020
Сообщений: 4

Подскажите по проблемем с макросами, пожалуйста

02.07.2020, 12:49. Показов 445. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемое сообщество. Такой вопрос, замучал. Имеется три структуры следующего содержания:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct Date {
    int year, month, day;
};
 
struct Time {
    int hours, minutes;
};
 
struct AirlineTicket {
    string from;
    string to;
    string airline;
    Date departure_date;
    Time departure_time;
    Date arrival_date;
    Time arrival_time;
    int price;
};
Вектор наполнен структурами AirlineTicket
C++
1
2
3
4
5
6
7
vector<AirlineTicket> tixs = {
        { "VKO", "AER", "Utair", { 2018, 2, 28 }, { 17, 40 }, { 2018, 2, 28 }, { 20, 0 }, 1200 },
        { "AER", "VKO", "Utair", { 2018, 3, 5 }, { 14, 15 }, { 2018, 3, 5 }, { 16, 30 }, 1700 },
        { "AER", "SVO", "Aeroflot", { 2018, 3, 5 }, { 18, 30 }, { 2018, 3, 5 }, { 20, 30 }, 2300 },
        { "PMI", "DME", "Iberia", { 2018, 2, 8 }, { 23, 00 }, { 2018, 2, 9 }, { 3, 30 }, 9000 },
        { "CDG", "SVO", "AirFrance", { 2018, 3, 1 }, { 13, 00 }, { 2018, 3, 1 }, { 17, 30 }, 8000 },
};
Собственно задача стоит в том, чтобы реализовать следующий макрос, принимающий аргументом имя поля структуры:
C++
1
#define SORT_BY(field)
Макрос нужно реализовать таким образом, чтобы работала следующая конструкция:
C++
1
sort(begin(tixs), end(tixs), SORT_BY(price));
То есть вектор сортировался, в неубывающем порядке по полю price.
Буду рад любой помощи, заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.07.2020, 12:49
Ответы с готовыми решениями:

Подскажите пожалуйста
Нужно ввести в 1 строковую переменную или символьный массив текст из файла с абзацами.Как это реализовать?

Подскажите пожалуйста!
Как по-другому записать 'end else break' ???ругается ,на else.ПОМОГИТЕ ПЛИЗ!!!

Подскажите, пожалуйста.
Существует - ли способ давать переменным типа char русские буквы так, чтобы они корректно потом выводились на экран/в файл?

1
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
02.07.2020, 12:53
Цитата Сообщение от GeorgeAmberson Посмотреть сообщение
Макрос нужно реализовать таким образом, чтобы работала следующая конструкция:
C++
1
#define SORT_BY(field) [](const AirlineTicket &v1,  const AirlineTicket &v2) {return v1.field < v2.field;}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.07.2020, 12:53
Помогаю со студенческими работами здесь

подскажите пожалуйста
Как подсчитать значение SI в результате работы программы? mov ax, 0bcdeh mov cx, 16 xor si, si ...

Подскажите,пожалуйста...
Подскажите,Ув.Гуру ПК! Хочу добавить своему &quot;Лени&quot; оперативки стоят 2 платы . хочу поставить 2 по 4Гб. Память SODIMM DDR3 4096MB PC10600...

Подскажите пожалуйста...
В какой раздел форума можно обратится с проблемой взлома?

Подскажите пожалуйста!
Здравствуйте. Не могли бы вы мне подсказать, какой код нужно использовать для того, что бы значение введенное пользователем в textBox...

Подскажите пожалуйста)
Даны два целых числа, причём второе число не меньше первого. Напечатайте все целые числа из заданного диапазона, уменьшив каждое на 4....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru