/*******************************************************************
* IDE: VS2010
* FILE: exercise_1442.cpp
*******************************************************************/
#include
using std::greater; using std::not_equal_to; using std::multiplies;
#include
using std::count_if; using std::bind2nd; using std::find_if;
using std::transform;
#include
using std::vector;
#include
using std::string;
#include
using std::begin; using std::end; #include
using std::cout; using std::endl; int main(void) { int iarr[] = {1, 1024, 2, 1025, 3, 1026, 1027}; cout << "(1)count the number of values that are greater than 1024: " << endl; signed int count = count_if(begin(iarr), end(iarr), bind2nd(greater
(), 1024)); cout << count << (count > 0 ? " elements " : " element ") << "greater than 1024" << endl << endl;; string sarr[] = {"many", "much", "that", "pooh", "this", "happy"}; cout << "(2)find the first string that is not equal to pooh: " << endl; auto iter = find_if(begin(sarr), end(sarr), bind2nd(not_equal_to
(), "pooh")); cout << "the first string that is not equal to \"pooh\" is: " << "\"" << *iter << "\"" << endl << endl;; cout << "(3)multiply all values by 2: " << endl; transform(begin(iarr), end(iarr), begin(iarr), bind2nd(multiplies
(), 2)); cout << "now elements of iarr are: "; for (int i = 0; i < sizeof iarr / sizeof (int); ++i) { cout << iarr[i] << " "; } cout << endl << endl; return 0; }
c++_primer_exercise_1442
最新推荐文章于 2019-07-24 10:19:55 发布