@arteskin

Как стереть элемент с помощью vector.erase()?

Как стереть элемент, который превышает определённое значение из вектора? (В данном случае больше 9)
vector<int> myVector = { 1, 3, 10, 20, 13, 15, 4, 7, 9 , 18, 19, 1, 3 };

	for (int i = 0; i < myVector.size(); i++) {
		if (myVector[i] > 9) {
			myVector.erase(...........) // как тут прописать?
		}
	}
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 1
NIKITF
@NIKITF
Knows Russian language
#include<iostream>
#include<vector>
using namespace std;
int main()
{
    vector<short> myVector = { 1, 3, 10, 20, 13, 15, 4, 7, 9 , 18, 19, 1, 3 };
    for (auto b = myVector.begin(); b!=myVector.end();) 
    {
        if ((*b) > 9)
        {
           b = myVector.erase(b);
        }
        else b++;
    }
    for (const auto s : myVector)
    {
        cout << s << " ";
    }
    return 0;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы