Есть мультимножество,нужно ко всем элементам прибавить чилсло,как это можно сделать,ведь элементы в multiset нельзя изменять.
#include <bits/stdc++.h>
using namespace std;
multiset<int> setplus(multiset<int> S, int num){
multiset<int> result;
for_each(S.begin(), S.end(), [=, &result] (int el) -> void {
result.insert(el + num);
});
return result;
}
int main() {
multiset<int> S;
for(int i = 1;i <= 5;i++) S.insert(i);
S = setplus(S, 1);
for_each(S.begin(), S.end(),[] (int el) -> void {
cout << el << "\n";
});
}
Один из вариантов, просто забить все в новый мультисет.
То же самое, что было в первом ответе, можно выразить более эффективным кодом:
int main()
{
std::multiset<int> S, res;
for (int i = 1; i < 5; ++i)
for(int j = 0; j < 3; ++j)
S.insert(i);
std::transform(S.begin(), S.end(), std::inserter(res, res.end()), [](int i) {return ++i;});
std::copy(res.begin(), res.end(), std::ostream_iterator<int>(std::cout, " "));
return 0;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Выполнить построчную обработку текстаесли выбранный символ встречается впервые удвоить его
Есть класс, в котором объявлена дружественная функция, я хочу её определить тут же, те
Мне по диплому нужно оптимизировать алгоритм (resize) библиотеки Magick++ при помощи Cuda
Вы не показали (не написали?) код, который использует элементы загруженного массивa todos для создания DOM-элементов во время загрузки страницы...