/************************************************* * IDE: VS2010 *************************************************/ #include using std::cin; using std::cout; using std::endl; #include using std::vector; #include using std::map; #include using std::default_random_engine; using std::uniform_int_distribution; // returns a vector of 100 uniformly distributed random numbers vector rand_vec(unsigned long seed, unsigned min_val, unsigned max_val) { // because engines and distributions retain state, they usually should be // defined as static so that new numbers are generated on each call static default_random_engine e(seed); static uniform_int_distribution u(min_val, max_val); vector ret; for (unsigned i = 0; i != 100; ++i) { ret.push_back(u(e)); } return ret; } int main() { vector v(rand_vec(255, 0, 9)); map num_count; // count for (vector::iterator it = v.begin(); it != v.end(); ++it) { ++num_count[*it]; } // print for (map::iterator it = num_count.begin(); it != num_count.end(); ++it) { cout << it->first << " occurs " << it->second << ((it->second > 1) ? " times" : " time") << endl; } return 0; }