std::replace_if with predicate
#include <iostream> using std::cout; using std::endl; #include <algorithm> #include <vector> #include <iterator> bool greater9( int ); int main() { int a[ 10 ] = { 10, 2, 10, 4, 16, 6, 14, 8, 12, 10 }; std::ostream_iterator< int > output( cout, " " ); std::vector< int > v3( a, a + 10 ); // copy of a cout << "Vector v3 before replacing values greater than 9:\n "; std::copy( v3.begin(), v3.end(), output ); // replace values greater than 9 in v3 with 100 std::replace_if( v3.begin(), v3.end(), greater9, 100 ); cout << "\nVector v3 after replacing all values greater" << "\nthan 9 with 100s:\n "; std::copy( v3.begin(), v3.end(), output ); cout << endl; return 0; } bool greater9( int x ) { return x > 9; } /* Vector v3 before replacing values greater than 9: 10 2 10 4 16 6 14 8 12 10 Vector v3 after replacing all values greater than 9 with 100s: 100 2 100 4 100 6 100 8 100 100 */
1. | Replace value equal to 70 with 42 in a deque | ||
2. | Truncate numbers to fall between 0 and 255 inclusive |