//: C05:Counting.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt // The counting algorithms #include "PrintSequence.h" #include "Generators.h" #include #include using namespace std; int main() { vector v; generate_n(back_inserter(v), 50, CharGen()); print(v, "v", ""); // Create a set of the characters in v: set cs(v.begin(), v.end()); set::iterator it = cs.begin(); while(it != cs.end()) { int n = count(v.begin(), v.end(), *it); cout << *it << ": " << n << ", "; it++; } int lc = count_if(v.begin(), v.end(), bind2nd(greater(), 'a')); cout << "\nLowercase letters: " << lc << endl; sort(v.begin(), v.end()); print(v, "sorted", ""); } ///:~