#include #include #include #include #include // version 1 int main() { // 1. std::vector wishlist { "Book", "Bicycle", "Laptop", "Socks", "Decorations", "Candy" }; // 2. std::cout << "What did you get? "; std::vector gifts { std::istream_iterator{std::cin}, std::istream_iterator{} }; // 3. // using std::set_difference std::sort(wishlist.begin(), wishlist.end()); std::sort(gifts.begin(), gifts.end()); wishlist.erase(std::set_difference(wishlist.begin(), wishlist.end(), gifts.begin(), gifts.end(), wishlist.begin()), wishlist.end()); // using std::remove_if + std::find // wishlist.erase( // std::remove_if(wishlist.begin(), wishlist.end(), // [&gifts](std::string const& entry) // { // return std::find(gifts.begin(), gifts.end(), entry) != gifts.end(); // }), // wishlist.end()); // 4. std::copy(wishlist.begin(), wishlist.end(), std::ostream_iterator{std::cout, "\n"}); }