1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#include <algorithm>
#include <iostream>
#include <iterator>
using namespace std;
class absInt
{
public:
bool operator()(int i1, int i2) const
{
return abs(i1) == abs(i2);
}
};
int main()
{
int range1[] = {-2, -4, -6, -8, 2, 4, 6, 8};
int range2[] = {6, 8};
copy
(
search(range1, range1 + 8, range2, range2 + 2),
range1 + 8,
ostream_iterator<int>(cout, " ")
);
cout << '\n';
copy
(
search(range1, range1 + 8, range2, range2 + 2, absInt()),
range1 + 8,
ostream_iterator<int>(cout, " ")
);
cout << '\n';
}
/*
Displays:
6 8
-6 -8 2 4 6 8
*/
|