View difference between Paste ID: FW1q7mHs and h11mdNQH
SHOW: | | - or go back to the newest paste.
1
// разработайте сигнатуру фунции MakeVector по аналогии с функцией MakeSet из урока
2
#include <algorithm>
3
#include <iostream>
4
#include <set>
5
#include <string>
6
#include <vector>
7
8
using namespace std;
9
10
template <typename It>
11
void PrintRange(It range_begin, It range_end) {
12
    for (auto it = range_begin; it != range_end; ++it) {
13
        cout << *it << " "s;
14
    }
15
    cout << endl;
16
}
17
18
template <typename It>
19
auto MakeVector(It range_begin, It range_end) {
20
    return vector(range_begin, range_end);
21
}
22
23
template <typename Container, typename Iterator>
24
void EraseAndPrint(Container& container, Iterator iterator) {
25
    PrintRange(begin(container), iterator);
26
    auto iter = container.erase(iterator);
27
    PrintRange(iter, end(container));
28
}
29
30
int main() {
31
    set<string> langs = {"Python"s, "Java"s, "C#"s, "Ruby"s, "C++"s};
32
    EraseAndPrint(langs, langs.begin());
33
    return 0;
34
}