РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
350 of 815 menu

Функция find_if_not

Функция find_if_not ищет первый элемент в диапазоне, который не удовлетворяет заданному условию (предикату). В первый параметр мы передаём итератор начала диапазона, во второй - итератор конца диапазона, а в третий - предикат (функцию или лямбда-выражение), которому элемент не должен удовлетворять. Функция возвращает итератор на найденный элемент или итератор конца диапазона, если все элементы удовлетворяют условию.

Синтаксис

find_if_not(first, last, pred)

Пример

Давайте найдём первый элемент вектора, который не является чётным:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> v = {2, 4, 5, 6, 8}; auto it = find_if_not(v.begin(), v.end(), [](int x) { return x % 2 == 0; }); if (it != v.end()) { cout << "First odd: " << *it << endl; } else { cout << "Not found" << endl; } return 0; }

Результат выполнения кода:

"First odd: 5"

Пример

Давайте найдём первый элемент вектора, который не начинается с символа 'a':

#include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { vector<string> v = {"abc", "ade", "bcd", "afg"}; auto it = find_if_not(v.begin(), v.end(), [](const string& s) { return s[0] == 'a'; }); if (it != v.end()) { cout << "Found: " << *it << endl; } else { cout << "Not found" << endl; } return 0; }

Результат выполнения кода:

"Found: bcd"

Пример

Давайте проверим случай, когда все элементы удовлетворяют условию - функция вернёт итератор на конец диапазона:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> v = {2, 4, 6, 8}; auto it = find_if_not(v.begin(), v.end(), [](int x) { return x % 2 == 0; }); if (it != v.end()) { cout << "Found: " << *it << endl; } else { cout << "Not found" << endl; } return 0; }

Результат выполнения кода:

"Not found"

Смотрите также

  • функция find,
    которая ищет первое вхождение значения в диапазоне
  • функция find_if,
    которая ищет первый элемент, удовлетворяющий условию
  • функция count_if,
    которая подсчитывает элементы, удовлетворяющие условию
  • функция all_of,
    которая проверяет, что все элементы удовлетворяют условию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить