Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpPmVcVR 178 of 390 menu
◀ ▶

Удаление по значению в C++

Чтобы убрать все совпадения с числом, обходят исходный вектор и в новый записывают только те элементы, которые не равны искомому:

std::vector<int> vec = {1, 2, 3, 2}; std::vector<int> vec2; for (int i = 0; i < vec.size(); ++i) { if (vec[i] != 2) { vec2.push_back(vec[i]); } } vec = vec2; std::cout << vec.size() << "\n";

Чтобы убрать одно первое вхождение, достаточно пропустить его один раз флагом:

std::vector<int> vec = {1, 2, 3, 1, 4}; std::vector<int> vec2; bool flag = false; for (int i = 0; i < vec.size(); ++i) { if (!flag && vec[i] == 1) { flag = true; } else { vec2.push_back(vec[i]); } } vec = vec2; std::cout << vec[0] << "\n";

Дан вектор:

std::vector<int> vec = {1, 2, 3, 4, 5};

Уберите из вектора число 3, собрав новый вектор без него. Выведите длину результата в консоль.

Дан вектор:

std::vector<int> vec = {1, 2, 3, 1, 4, 1, 5};

Уберите одно вхождение числа 1. Выведите первый элемент вектора в консоль.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить