#include <iostream>
#include <cmath>
double f(double x)
{
return sin(x); // funkcja podcałkowa
}
double prostokaty(double a, double b, int n)
{
double dx = (b - a) / n;
double x = a;
double s = 0.0;
for (int i = 1; i <= n; i++)
{
x = x + dx;
s = s + dx * f(x);
}
return s;
}
int main()
{
double a1 = 0.0, b1 = 3.14;
int n1 = 10;
double a2 = 0.0, b2 = 3.14;
int n2 = 100;
double s1 = prostokaty(a1, b1, n1);
double s2 = prostokaty(a2, b2, n2);
std::cout << "s1 (n=10) = " << s1 << std::endl;
std::cout << "s2 (n=100) = " << s2 << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgpkb3VibGUgZihkb3VibGUgeCkKewogICAgcmV0dXJuIHNpbih4KTsgICAvLyBmdW5rY2phIHBvZGNhxYJrb3dhCn0KCmRvdWJsZSBwcm9zdG9rYXR5KGRvdWJsZSBhLCBkb3VibGUgYiwgaW50IG4pCnsKICAgIGRvdWJsZSBkeCA9IChiIC0gYSkgLyBuOwogICAgZG91YmxlIHggPSBhOwogICAgZG91YmxlIHMgPSAwLjA7CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKQogICAgewogICAgICAgIHggPSB4ICsgZHg7CiAgICAgICAgcyA9IHMgKyBkeCAqIGYoeCk7CiAgICB9CgogICAgcmV0dXJuIHM7Cn0KCmludCBtYWluKCkKewogICAgZG91YmxlIGExID0gMC4wLCBiMSA9IDMuMTQ7CiAgICBpbnQgbjEgPSAxMDsKCiAgICBkb3VibGUgYTIgPSAwLjAsIGIyID0gMy4xNDsKICAgIGludCBuMiA9IDEwMDsKCiAgICBkb3VibGUgczEgPSBwcm9zdG9rYXR5KGExLCBiMSwgbjEpOwogICAgZG91YmxlIHMyID0gcHJvc3Rva2F0eShhMiwgYjIsIG4yKTsKCiAgICBzdGQ6OmNvdXQgPDwgInMxIChuPTEwKSAgPSAiIDw8IHMxIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCAiczIgKG49MTAwKSA9ICIgPDwgczIgPDwgc3RkOjplbmRsOwoKICAgIHJldHVybiAwOwp9Cg==