Answer to Question #275101 in C++ for Pooja

Question #275101

#include <iostream> #include <vector>





std::vector<std::string> getUniqueBrands(const std::vector<std::string>& brand1, const std::vector<std::string & brand2)





{





throw std::logic_error("yet to be implemented");





}





int main()





{





std::vector<std::string> brand1 = {"LOUIS VUITTON", "HERMES", "PRADA"};





std::vector<std::string> brand2 = ("GUCCI", "PRADA", "HERMES"};





std::vector<std::string> result = getUniqueBrands(brand1, brand2);





for(auto element: result)





{





std::cout << element << '





// should print GUCCI HERMES LOUIS_VUITTON PRADA





}





}

1
Expert's answer
2021-12-03T17:58:15-0500
#include <iostream> 
#include <string>
#include <algorithm>
#include <iterator>
#include <vector>

std::vector<std::string> getUniqueBrands(const std::vector<std::string>& brand1, 
                                         const std::vector<std::string> & brand2)
{
    std::vector<std::string> v1;
    v1.assign(brand1.begin(), brand1.end());
    std::sort(v1.begin(), v1.end());

    std::vector<std::string> v2;
    v2.assign(brand2.begin(), brand2.end());
    std::sort(v2.begin(), v2.end());

    std::vector<std::string> result;
    std::set_union(v1.begin(), v1.end(), v2.begin(), v2.end(),
                   back_inserter(result));

    return result;
}

int main()
{
    std::vector<std::string> brand1 = {"LOUIS_VUITTON", "HERMES", "PRADA"};
    std::vector<std::string> brand2 = {"GUCCI", "PRADA", "HERMES"};
    std::vector<std::string> result = getUniqueBrands(brand1, brand2);

    for(auto element: result)
    {
        std::cout << element << ' ';
        // should print GUCCI HERMES LOUIS_VUITTON PRADA
    }
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment