Count vowels in a sentence : bind2nd « STL Algorithms Helper « C++

Count vowels in a sentence

#include <algorithm>
#include <functional>
#include <iomanip>
#include <numeric>
#include <string>
#include <vector>
#include <iostream>

using namespace std;

template <class T>
void print(T& c){
   for( typename T::iterator i = c.begin(); i != c.end(); i++ ){
      std::cout << *i << endl;

bool in_string( char c, const string target ){ 
   return target.find( c ) != string::npos; 

int main( ){
   const string vowels( "aeiouAEIOU" );
   string phrase( "The quick brown fox jumps over the lazy dog." );

   cout << "\nThere are " << count_if( phrase.begin(), phrase.end(),
      bind2nd( ptr_fun( in_string ), vowels ) )
      << " vowels in \n\"" << phrase << "\"\n";

Related examples in the same category

1.Demonstrate bind2nd()Demonstrate bind2nd()
2.Use the generic count algorithm with predicate: Determine the number of array elements that are not equal to 1
3.transform, bind2nd and modulus
4.transform, bind2nd and plus
5.multiply by 100 to get a percent