fork(1) download
  1. #include <iostream>
  2. #include <iterator>
  3. #include <algorithm>
  4. #include <vector>
  5.  
  6.  
  7. int main() {
  8. std::vector<int> U(41);
  9. std::iota(std::begin(U), std::end(U), 0);
  10.  
  11. std::vector<int> A { 1, 3, 4, 5, 10 };
  12. std::vector<int> B { 3, 5, 7, 8, 9 };
  13. std::vector<int> C { 3, 5, 6, 9, 10 };
  14.  
  15. std::vector<int> AandB;
  16. std::set_intersection(
  17. std::begin(A), std::end(A)
  18. , std::begin(B), std::end(B)
  19. , std::back_inserter(AandB));
  20.  
  21. std::vector<int> notAandB;
  22. std::set_difference(
  23. std::begin(U), std::end(U)
  24. , std::begin(AandB), std::end(AandB)
  25. , std::back_inserter(notAandB));
  26.  
  27. std::vector<int> result;
  28. std::set_intersection(
  29. std::begin(notAandB), std::end(notAandB)
  30. , std::begin(C), std::end(C)
  31. , std::back_inserter(result));
  32.  
  33. std::copy(
  34. std::begin(result), std::end(result)
  35. , std::ostream_iterator<int>(std::cout, " "));
  36. std::cout << std::endl;
  37. }
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
6 9 10