find_if, bind2nd and greater_equal : Algorithm « vector « C++ Tutorial






#include <algorithm>
#include <vector>
#include <iostream>
#include <functional>
using namespace std;

int main(int argc, char** argv)
{
  int num;

  vector<int> myVector;
  while (true) {
    cout << "Enter a test score to add (0 to stop): ";
    cin >> num;
    if (num == 0) {
      break;
    }
    myVector.push_back(num);
  }

  vector<int>::iterator it = find_if(myVector.begin(), myVector.end(),bind2nd(greater_equal<int>(), 100));
  if (it == myVector.end()) {
    cout << "No perfect scores\n";
  } else {
    cout << "Found a \"perfect\" score of " << *it << endl;
  }
  return (0);
}








16.32.Algorithm
16.32.1.Using the for_each() Algorithm
16.32.2.find_if, bind2nd and greater_equal
16.32.3.Mutating Sequence Algorithm
16.32.4.Use the count_if algorithm with the unary predicate IsEven
16.32.5.Use count to determine the number of '0's in the vector
16.32.6.merge the elements of NumbersVestor and NumbersList and place the results in NumbersDeque
16.32.7.shuffle the elements in a random order
16.32.8.Fill elements in a vector with custom generator
16.32.9.random number generation in quantitative finance
16.32.10.Inner product of a vector and another vector
16.32.11.The adjacent difference of the vector
16.32.12.for_each element in a vector apply custom function
16.32.13.Find the first element in the range (first, last + 1) that matches value