fork download
  1. #include <iostream>
  2. #include <sstream>
  3. #include <vector>
  4. #include <algorithm>
  5. #include <iterator>
  6.  
  7. int main() {
  8. // Create string streams with same text as respective file.
  9. std::istringstream fr1{"1\n2\n3\n4\n5\n6\n7"};
  10. std::istringstream fr2{"1\n3\n6\n8\n10"};
  11.  
  12. // Read number tokens into vector from both files.
  13. std::vector<int> v{std::istream_iterator<int>{fr1}, std::istream_iterator<int>{}};
  14. v.insert(std::begin(v), std::istream_iterator<int>{fr2}, std::istream_iterator<int>{});
  15.  
  16. // Sort the vector.
  17. std::sort(std::begin(v), std::end(v));
  18.  
  19. // Remove consecutive duplicates (move them to back of vector).
  20. auto end = std::unique(std::begin(v), std::end(v));
  21.  
  22. // Remove duplicate elements.
  23. if (end != std::end(v)) {
  24. v.erase(end, std::end(v));
  25. }
  26.  
  27. // Output vector.
  28. for (int i : v) {
  29. std::cout << i << std::endl;
  30. }
  31. }
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
1
2
3
4
5
6
7
8
10