#include <iostream>
#include <cmath>
using namespace std;
// Definicja funkcji f(x)
double f(double x) {
return sin(x); // <- tutaj możesz zmienić funkcję
}
// Metoda prostokątów (lewych)
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++) {
s += dx * f(x);
x += dx;
}
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);
cout << "s1 (n = 10) = " << s1 << endl;
cout << "s2 (n = 100) = " << s2 << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRGVmaW5pY2phIGZ1bmtjamkgZih4KQpkb3VibGUgZihkb3VibGUgeCkgewogICAgcmV0dXJuIHNpbih4KTsgICAvLyA8LSB0dXRhaiBtb8W8ZXN6IHptaWVuacSHIGZ1bmtjasSZCn0KCi8vIE1ldG9kYSBwcm9zdG9rxIV0w7N3IChsZXd5Y2gpCmRvdWJsZSBwcm9zdG9rYXR5KGRvdWJsZSBhLCBkb3VibGUgYiwgaW50IG4pIHsKICAgIGRvdWJsZSBkeCA9IChiIC0gYSkgLyBuOwogICAgZG91YmxlIHggPSBhOwogICAgZG91YmxlIHMgPSAwLjA7CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgcyArPSBkeCAqIGYoeCk7CiAgICAgICAgeCArPSBkeDsKICAgIH0KCiAgICByZXR1cm4gczsKfQoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgYTEgPSAwLjAsIGIxID0gMy4xNDsKICAgIGludCBuMSA9IDEwOwoKICAgIGRvdWJsZSBhMiA9IDAuMCwgYjIgPSAzLjE0OwogICAgaW50IG4yID0gMTAwOwoKICAgIGRvdWJsZSBzMSA9IHByb3N0b2thdHkoYTEsIGIxLCBuMSk7CiAgICBkb3VibGUgczIgPSBwcm9zdG9rYXR5KGEyLCBiMiwgbjIpOwoKICAgIGNvdXQgPDwgInMxIChuID0gMTApICA9ICIgPDwgczEgPDwgZW5kbDsKICAgIGNvdXQgPDwgInMyIChuID0gMTAwKSA9ICIgPDwgczIgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQo=