Demonstrate the find() and find_if() algorithms. : find if « STL Algorithms Non modifying sequence operations « C++ Tutorial






#include <iostream>
#include <vector>
#include <algorithm>
#include <string>

using namespace std;

bool is_short_str(string str);

int main()
{
  vector<string> v;
  vector<string>::iterator itr;

  v.push_back("one");
  v.push_back("two");
  v.push_back("three");
  v.push_back("four");
  v.push_back("five");
  v.push_back("six");

  for(unsigned i=0; i < v.size(); ++i)
    cout << v[i] << " ";

  itr = find(v.begin(), v.end(), "two");
  if(itr != v.end()) {
    cout << "Replacing with \"TWO\"" << endl;
    *itr = "TWO";
  }
  return 0;
}

// Return true if the string is 3 characters or less.
bool is_short_str(string str)
{
  if(str.size() <= 3) return true;
  return false;
}








25.7.find if
25.7.1.Use find_if to find first element divisible by 3
25.7.2.Use find_if to find first element greater than 3
25.7.3.map: find_if
25.7.4.std::find_if with predicate
25.7.5.Demonstrate the find() and find_if() algorithms.
25.7.6.Find value in a vector with find_if
25.7.7.Extract sentences from a vector of chars with help from find_if().