Vector-Erase

  • + 0 comments
    #include <cmath>
    #include <cstdio>
    #include <vector>
    #include <iostream>
    #include <algorithm>
    
    int main()
    {
        int n{};
        std::cin >> n; // # of integers
    
        std::vector<int> numbers{};
        numbers.resize(n);
    
        for (int i = 0; i < n; i++)
        {
            std::cin >> numbers[i];
        }
    
        int delElement{}; // position of element that should be removed
        std::cin >> delElement;
    
        numbers.erase(numbers.begin() + (delElement - 1));
    
        int delFrom{};
        int delTo{};
    
        std::cin >> delFrom; // deletion position
        std::cin >> delTo;
    
        int counter{}; // every step causes to move vector numbers left
        for (int i = delFrom; i < delTo; i++)
        {
            numbers.erase(numbers.begin() + (i - 1 - counter));
            counter++;
        }
    
        std::cout << numbers.size() << '\n';
    
        for (int i : numbers)
        {
            std::cout << i << ' ';
        }
    
        return 0;
    }