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

Функция count_if

Функция count_if подсчитывает количество элементов в диапазоне, для которых предикат возвращает true. Первым и вторым параметром функция принимает итераторы начала и конца диапазона, а третьим - унарный предикат, которому будет передан каждый элемент диапазона. Функция возвращает целое число - количество элементов, удовлетворяющих условию.

Синтаксис

count_if(first, last, pred)

Пример

Давайте подсчитаем количество чётных чисел в векторе:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> v = {1, 2, 3, 4, 5}; int res = count_if(v.begin(), v.end(), [](int n) { return n % 2 == 0; }); cout << res << endl; return 0; }

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

2

Пример

Давайте подсчитаем количество чисел, больших трёх, в векторе:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> v = {1, 2, 3, 4, 5}; int res = count_if(v.begin(), v.end(), [](int n) { return n > 3; }); cout << res << endl; return 0; }

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

2

Пример

Давайте подсчитаем количество строк, начинающихся с символа 'a', в векторе строк:

#include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { vector<string> v = {"abcde", "12345", "apple", "banana", "avocado"}; int res = count_if(v.begin(), v.end(), [](const string& s) { return !s.empty() && s[0] == 'a'; }); cout << res << endl; return 0; }

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

3

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

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