Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <functional>
- double func(double x, double y, const std::function<bool(double, double)>& f) {
- return f(x,y) ? x+y : x*y;
- }
- int main() {
- std::vector<std::pair<double, double>> vector;
- std::function<bool(double, double)> condition = [&vector, A = 2, B = 1](double x, double y) {
- vector.push_back({x, y});
- return A * x == B * y;
- };
- std::cout << "res = " << func(0.5, 1, condition) << std::endl;
- std::cout << "res = " << func(1.5, 3, condition) << std::endl;
- std::cout << "res = " << func(1.5, 2, condition) << std::endl;
- std::cout << "res = " << func(7.5, 1, condition) << std::endl;
- for (const auto & it : vector ) {
- std::cout << it.first << " " << it.second << std::endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement