#include<vector>
#include<algorithm>
#include<iostream>
#include<iterator>
using namespace std;
class ReplaceFunc
{
int mNumComp;
public:
ReplaceFunc(int i):mNumComp(i){}
bool operator()(int i)
{
if(i==mNumComp)
return true;
else
return false;
}
};
int main()
{
int arr[]={3, 3, 6, 4, 9, 6, 1, 4, 6, 6, 7, 3};
std::vector<int> vec(arr,arr + sizeof(arr)/sizeof(arr[0]));
cout<<"Before\n";
copy(vec.begin(),vec.end(),ostream_iterator<int>(cout,"\n"));
std::replace_if(vec.begin(),vec.end(),ReplaceFunc(3),54);
cout<<"After\n";
copy(vec.begin(),vec.end(),ostream_iterator<int>(cout,"\n"));
return 0;
}
I2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxhbGdvcml0aG0+IAojaW5jbHVkZTxpb3N0cmVhbT4KI2luY2x1ZGU8aXRlcmF0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBSZXBsYWNlRnVuYwp7IAogICAgIGludCBtTnVtQ29tcDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlcGxhY2VGdW5jKGludCBpKTptTnVtQ29tcChpKXt9CiAgICAgICAgIGJvb2wgb3BlcmF0b3IoKShpbnQgaSkKICAgICAgICAgewogICAgICAgICAgICAgIGlmKGk9PW1OdW1Db21wKQogICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQoKfTsKCgppbnQgbWFpbigpCnsKICAgIGludCBhcnJbXT17MywgMywgNiwgNCwgOSwgNiwgMSwgNCwgNiwgNiwgNywgM307CiAgICBzdGQ6OnZlY3RvcjxpbnQ+IHZlYyhhcnIsYXJyICsgc2l6ZW9mKGFycikvc2l6ZW9mKGFyclswXSkpOwoKICAgIGNvdXQ8PCJCZWZvcmVcbiI7CiAgICBjb3B5KHZlYy5iZWdpbigpLHZlYy5lbmQoKSxvc3RyZWFtX2l0ZXJhdG9yPGludD4oY291dCwiXG4iKSk7CiAgICAKICAgIHN0ZDo6cmVwbGFjZV9pZih2ZWMuYmVnaW4oKSx2ZWMuZW5kKCksUmVwbGFjZUZ1bmMoMyksNTQpOwogICAgCiAgICBjb3V0PDwiQWZ0ZXJcbiI7CiAgICBjb3B5KHZlYy5iZWdpbigpLHZlYy5lbmQoKSxvc3RyZWFtX2l0ZXJhdG9yPGludD4oY291dCwiXG4iKSk7CgogICAgcmV0dXJuIDA7Cn0K