Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- using namespace std;
- template<class T, class Pred, class F> void transformer_si(T debut, T fin, Pred pred, F f);
- int main()
- {
- int vals[] = { -1, 2, 3, 4, 5, -6 }; // dans le désordre
- transformer_si(begin(vals), end(vals),
- [](int n) { return n < 0; }, // remplacer chaque nombre négatif
- [](int n) { return -n; }); // ...par sa négation arithmétique
- for(auto n : vals)
- cout << n << ' '; // 1 2 3 4 5 6
- cout << endl;
- }
- template<class T, class Pred, class F> void transformer_si(T debut, T fin, Pred pred, F f)
- {
- for (debut = find_if(debut, fin, pred); debut != fin; debut = find_if(debut, fin, pred))
- {
- *debut = f(*debut);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement