Загрузка данных


#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

template <typename T>
void input(vector<T>& X, int n) {

    X.resize(n);
    for (int i = 0; i < n; i++) {
        cin >> X[i];
    }
}

template <typename T>
void findminmax(const vector<T>& X, int& minI, int& maxI) {
    minI = 0;
    maxI = 0;
    for (int i = 1; i < X.size(); i++) {

        if (X[i] > X[maxI]) {
            maxI = i;
        }

        if (X[i] < X[minI]) {
            minI = i;
        }
    }
}

 template <typename T>
vector<T> create(const vector<T>& X, int left, int right) {

    if (left > right)
        swap(left, right);

    vector<T> vec(X.begin() + left + 1, X.begin() + right);

    return vec;
}

template <typename T>
void print(const vector<T>& X) {

    for (int i = 0; i < X.size(); i++) {
        cout << X[i] << " ";
    }

    cout << endl;
}
int main() {

    vector<int> X;

    int n;
    cout << "vvedite razmer ";
    cin >> n;

    input(X, n);

    int minI, maxI;
    findminmax(X, minI, maxI);

    int left = min(minI, maxI);
    int right = max(minI, maxI);
    vector<int> result = create(X, left, right);

    cout << "sam massiv" << endl;

    print(result);

    cout << "razmerchikk ";
    cout << result.size() << endl;

    cout << "capacity result ";
    cout << result.capacity() << endl;

    return 0;
}