logo

Crowdly

Browser

Add to Chrome

#define main1 main /** Question C1 What is output of the program? */ // //...

✅ 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?

*/

//

//equal_range; includes; set_union; set_intersection; set_difference

#include <iostream>

#include <vector>

#include <algorithm>

int main1() {

    std::vector<int> a = {3, 0, 6, 3, 8, 0, 1, 5, 7, 6};

    std::vector<int> b = {-4, 8, 6, -1, -1, -2, 8, 7, -2};

    std::ranges::sort(a);

    std::ranges::sort(b);

    auto sub1 = std::ranges::unique(a);

    a.erase(sub1.begin(), sub1.end());

    auto sub2 = std::ranges::unique(b);

    b.erase(sub2.begin(), sub2.end());

    auto eq = std::ranges::equal_range(a, 6);

    int posL = static_cast<int>(eq.begin() - a.begin());

    int posU = static_cast<int>(eq.end() - a.begin());

    int found = (eq.begin() != eq.end());

    bool inc = std::ranges::includes(a, b);

    std::vector<int> u(a.size() + b.size());

    auto itU = std::ranges::set_union(a, b, u.begin());

    u.erase(itU.out, u.end());

    std::vector<int> inter(std::min(a.size(), b.size()));

    auto itI = std::ranges::set_intersection(a, b, inter.begin());

    inter.erase(itI.out, inter.end());

    std::vector<int> diff(a.size());

    auto itD = std::ranges::set_difference(a, b, diff.begin());

    diff.erase(itD.out, diff.end());

    int su = 0, si = 0, sd = 0;

    for (int x : u) su += x;

    for (int x : inter) si += x;

    for (int x : diff) sd += x;

    std::cout << found << "|" << posL << "|" << posU << "|" << inc << "|"

         << static_cast<int>(u.size()) << "|" << su << "|"

         << static_cast<int>(inter.size()) << "|" << si << "|"

         << static_cast<int>(diff.size()) << "|" << sd;

    return 0;

}

More questions like this

Want instant access to all verified answers on emokymai.vu.lt?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!

Browser

Add to Chrome