count_if
De cppreference.com
Sintaxis
#include <algorithm> entero count_if( input_iterator inicio, input_iterator fin, Predicado cond );
- inicio y fin modelan Input Iterator.
La función count_if() devuelve la cantidad de elementos en el rango [inicio,fin) que cumplan la condición cond.
- Retorno**: un número entero.
[editar] Ejemplo
El código siguiente utiliza count_if() junto con el predicado especial mul5m1 para encontrar en un vector de números generador un valor que sea un múltiplo de 5, menos 1 (por ejemplo: 4, 9, 19, ...):
struct mul5m1 { bool operator() (int x) const { return (++x % 5 == 0); } }; srand(time( 0 )); vector<int> v; for( int i = 0; i < 10; i++ ) { v.push_back( rand() ); } cout<< "v is: "; copy (v.begin(), v.end(), ostream_iterator<int>(cout, " ")); cout<< endl; size_r num_items = count_if( v.begin(), v.end(), mul5m1() ); if (num_items ) { cout<< "v contains "<< num_items << " multiples of five, minus one"<< endl; }