fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. template<typename T>
  6. struct Container
  7. {
  8. typedef T Type;
  9. };
  10.  
  11. template<typename T>
  12. T removeRepeats(T const&);
  13.  
  14. int main()
  15. {
  16. Container<std::vector<int>>::Type input { 1, -10, 2, 1, 3, -10, -80 };
  17. auto results = removeRepeats(input);
  18. for(auto const& element : results)
  19. std::cout << element << " ";
  20. }
  21.  
  22. template<typename T>
  23. T removeRepeats(T const& v)
  24. {
  25. T results;
  26. for(auto it = std::begin(v) ; it != std::end(v) ; ++it) {
  27. auto foundElement = std::find(std::begin(results), std::end(results), *it);
  28. if(foundElement == std::end(results))
  29. results.push_back(*it);
  30. else
  31. std::cout << "Duplicate found: " << *it << std::endl;
  32. }
  33.  
  34. return results;
  35. }
  36.  
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
Duplicate found: 1
Duplicate found: -10
1 -10 2 3 -80