std::count_if
returns the number of elements in the range [first, last) meeting specific criteria, that is, number of elements that satisfy the condition. Exceptions
Know how many elements in vector vec have zero remainder when divided by 2!
#include <iostream>
#include <vector>
#include <algorithm>
bool resto_zero( int &i ){
return ( i % 2 == 0 );
}
int main( int argc, char ** argv ){
std::vector<int> vec { 11, 20, 9, 36, 88, 54, 55 };
int pares = std::count_if( vec.begin(), vec.end(), resto_zero );
std::cout << pares << '\n'; // 4
return 0;
}
How many words from our group are there in the sentence: “That day everything was very quiet.”
#include <iostream>
#include <vector>
#include <algorithm>
bool grep( const std::string &word ){
const std::string phrase {"That day everything was very quiet."};
int pos = phrase.find( word );
return ( pos >= 0 );
}
int main( int argc, char ** argv ){
std::vector<std::string> word {"very", "nothing", "cool", "day", "everything", "thanks"};
int send = std::count_if( word.begin(), word.end(), grep );
std::cout << send << '\n'; // 3 → very, everything and day
return 0;
}
Simple, right?!