✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.
#define main1 main
/** Question C1
What is output of the program?
*/
//
//copy, copy_if, transform, fill, generate
#include <iostream>
#include <vector>
#include <algorithm>
int main1() {
std::vector<int> v = {2, 1, -1, 6, 5, 7, -6, -8, 7, 4};
std::vector<int> a(v.size(),0);
std::vector<int> b(v.size(),0);
std::vector<int> c(v.size(),0);
std::ranges::copy(v, a.begin());
auto r1 = std::ranges::copy_if(v, b.begin(), [](int x){
return x > 3;
});
int copied = static_cast<int>(r1.out - b.begin());
std::ranges::transform(v, c.begin(), [](int x){
return x + 5;
});
std::ranges::fill(a.begin() + 1, a.begin() + 4, 4);
int cur = 4;
std::ranges::generate(b.begin() + copied, b.end(), [&cur](){
int old = cur;
cur += 2;
return old;
});
int s1 = 0, s2 = 0, s3 = 0;
for (int x : a) s1 += x;
for (int x : b) s2 += x;
for (int x : c) s3 += x;
std::cout << copied << "|" << s1 << "|" << s2 << "|" << s3;
return 0;
}