std::transform を調べた
std::transform は 範囲内の要素に関数を適用してくれる機能です
4引数バージョン
// 小文字 -> 大文字 #include <string> #include <algorithm> #include <iostream> int main() { std::string s("hello"); std::transform(s.begin(), s.end(),s.begin(),toupper); std::cout << s; }
HELLO
5引数バージョン
#include <algorithm> // std::transform #include <iostream> // std::cout #include <vector> // std::vector int main() { std::vector<int> prices = {100,200,150}; // 値段 std::vector<int> quantity = {5,3,2}; // 個数 std::vector<int> amount(prices.size()); // 個別の合計 // prices * quantity -> amount std::transform(prices.begin(),prices.end(),quantity.begin(),amount.begin(), [](int p,int q){return p*q;}); // amountの合計を計算 int total = std::accumulate(amount.begin(),amount.end(),0,[](int sum,int val){ return sum+val; }); std::cout << total; }
1400