Фильтрация вектора в C++
Давайте теперь отберем из вектора только нужные элементы.
При обходе в условии проверяют элемент и подходящие значения дописывают во второй вектор:
std::vector<int> vec = {1, 2, 3, 4, 5};
std::vector<int> res;
for (int num : vec) {
if (num % 2 == 0) {
res.push_back(num);
}
}
std::cout << res.size() << "\n";
Исходный вектор остается без изменений:
std::vector<std::string> vec = {"a", "bb", "c", "dd"};
std::vector<std::string> res;
for (std::string elem : vec) {
if (elem.size() == 1) {
res.push_back(elem);
}
}
std::cout << vec.size() << "\n";
Дан вектор:
std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Запишите в другой вектор только нечетные числа. Выведите длину нового вектора в консоль.
Дан вектор:
std::vector<int> vec = {3, 7, 12, 5, 9, 14};
Запишите в другой вектор только элементы,
большие 10. Выведите длину нового
вектора в консоль.