nochnoikoshmar1

Untitled

Apr 4th, 2023
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.37 KB | None | 0 0
  1. #include <cmath>
  2. #include <map>
  3. #include <string>
  4. #include <algorithm>
  5. #include <iostream>
  6. #include <set>
  7. #include <utility>
  8. #include <vector>
  9. #include <numeric>
  10. #include <chrono>
  11. #include <type_traits>
  12. #include <cassert>
  13. #include <sstream>
  14. #include <unordered_map>
  15. using namespace std;
  16. template <typename It>
  17. void PrintRange(It range_begin, It range_end){
  18.     for(auto it = range_begin; it != range_end; ++it){
  19.         cout << *it << " "s;
  20.     }
  21.     cout << endl;
  22. }
  23. template <typename It>
  24. auto MakeSet(It range_begin, It range_end){
  25.     return set(range_begin, range_end);
  26. }
  27. template <typename It>
  28. auto MakeVector(It range_begin, It range_end){
  29.     return vector(range_begin, range_end);
  30. }
  31. template <typename Container, typename Iterator>
  32. void EraseAndPrint(Container &container, Iterator it){
  33.     PrintRange(container.begin(), it);
  34.     container.erase(it);
  35.     PrintRange(it, container.end());
  36. }
  37. template <typename Container>
  38. void EraseAndPrint(Container &container, int pos, int begin, int end){
  39.     auto it = container.erase(container.begin() + pos);
  40.     PrintRange(it, container.end());
  41.     it = container.erase(container.begin() + begin, container.begin() + end);
  42.     PrintRange(it, container.end());
  43. }
  44. int main() {
  45.     vector<string> langs = {"Python"s, "Java"s, "C#"s, "Ruby"s, "C++"s};
  46.     EraseAndPrint(langs, langs.begin());
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment