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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KibeRomka
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 15
#1

Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? - C++

01.05.2016, 17:43. Просмотров 123. Ответов 5
Метки нет (Все метки)

Доброго времени суток!

1)Есть вектор из указателей на объекты.
Как с помощью for_each()увеличить некоторое поле объекта на N единиц?

2) В векторе есть объекты с одинаковыми полями. Как с помощью <algorithm> получить новый вектор из всех объектов, чьи поля равны заданному ? Поле поиска задается вручную.

Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2016, 17:43     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц?
Посмотрите здесь:

Изменение фактического состояния объекта не мгновенно по вызове метода, а через некоторое время C++
C++ Реализовать динамический массив объектов, учитывая, что параметры для конструктора у каждого объекта разные
C++ Программа, определяющая для заданного целочисленного объекта определить количество ведущих единиц старшего его байта
Как использовать инструкцию for_each ? C++
как вернуть массив и как неявно получить атрибут объекта C++
Символьные функции: Преобразовать массив так: стаж работы увеличить на год, если он станет равен 10, то зарплату увеличить в 2 раза, если 15 – в 3 раз C++
C++ Как вызвать метод для for_each?
Как создать массив объектов? C++
C++ Qsort() Как отсортировать массив объектов по полю объекта
C++ Увеличить матрицу на некоторое количество элементов
Как в векторе объектов пользовательского класса изменить заданное поле у определённого элемента? C++
C++ Написал вариант реализации алгоритма for_each. Не понимаю, как он работает с функциями

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4501 / 3839 / 1292
Регистрация: 14.04.2014
Сообщений: 15,062
01.05.2016, 19:30     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Поле одного объекта или всех?
Для второго используй copy_if().
KibeRomka
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 15
01.05.2016, 20:36  [ТС]     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? #3
действие относительно выбранных полей всех объектов в векторе
nmcf
4501 / 3839 / 1292
Регистрация: 14.04.2014
Сообщений: 15,062
01.05.2016, 20:41     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Если поле public.
C++
1
for_each(v.begin(), v.end(), [N](MyClass & x){ x.a += N; });
KibeRomka
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 15
01.05.2016, 21:10  [ТС]     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? #5
Напишите, пожалуйста, пример работы с copy_if(). Есть vector<Account*> accounts. У объекта класса Account есть поле fio. Найти все объекты с одинаковым fio
nmcf
4501 / 3839 / 1292
Регистрация: 14.04.2014
Сообщений: 15,062
01.05.2016, 22:14     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
vector<Account*> accounts, res;
string fio;
copy_if(accounts.begin(), accounts.end(), std::inserter(res, res.end()), [fio](Account * a){ return a->fio == fio; });
Yandex
Объявления
01.05.2016, 22:14     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц?
Ответ Создать тему
Опции темы

Текущее время: 06:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru