Looking for Object Oriented Programming C++ test answers and solutions? Browse our comprehensive collection of verified answers for Object Oriented Programming C++ at emokymai.vu.lt.
Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!
#define main1 main
/** Question C1
What is output of the program?
*/
//
//replace, replace_if, std::erase, std::erase_if, reverse, rotate
#include <iostream>
#include <vector>
#include <algorithm>
int main1() {
std::vector<int> v = {-5, -2, 7, 6, 5, 2, 0, 0, 3, -2};
std::ranges::replace(v, -3, 7);
std::ranges::replace_if(v, [](int x){
return x > 1;
}, -4);
int removed1 = std::erase(v, 1);
int removed2 = std::erase_if(v, [](int const& x){
return x % 2 == 0;
});
std::ranges::reverse(v);
if (!v.empty()) {
int k = 1 % static_cast<int>(v.size());
std::ranges::rotate(v, v.begin() + k);
}
int sz = static_cast<int>(v.size());
int sum = 0;
for (int x : v) sum += x;
std::cout << removed1 << "|" << removed2 << "|" << sz << "|" << sum;
return 0;
}
#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 = {7, -7, 5, -4, -3, -2, 1, 5, 5, 1};
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 > 2;
});
int copied = static_cast<int>(r1.out - b.begin());
std::ranges::transform(v, c.begin(), [](int x){
return x + 1;
});
std::ranges::fill(a.begin() + 1, a.begin() + 4, 4);
int cur = 1;
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;
}