#include #include double integrate(auto f, double a, double b, std::size_t n) { double dx = (b - a) / n; double acc = 0.; for (std::size_t i = 0; i < n; ++i) { double x = a + i * dx; acc += f(x) * dx; } return acc; } int main() { std::cout << integrate([](double x){ return x * std::sin(x); }, 0., M_PI, 10) << std::endl; }