#include <iostream>
#include <cmath>
using namespace std;
// Definicja funkcji
double f(double x) {
return x*x - 2; // przykład: x^2 - 2
}
int main() {
double a, b, c, eps;
cout << "Podaj poczatek przedzialu a: ";
cin >> a;
cout << "Podaj koniec przedzialu b: ";
cin >> b;
cout << "Podaj dokladnosc eps: ";
cin >> eps;
if (f(a) * f(b) >= 0) {
cout << "Funkcja nie zmienia znaku w tym przedziale." << endl;
return 0;
}
while (fabs(b - a) > eps) {
c = (a + b) / 2.0;
if (f(c) == 0.0)
break;
else if (f(a) * f(c) < 0)
b = c;
else
a = c;
}
cout << "Przyblizone miejsce zerowe: " << c << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRGVmaW5pY2phIGZ1bmtjamkKZG91YmxlIGYoZG91YmxlIHgpIHsKICAgIHJldHVybiB4KnggLSAyOyAvLyBwcnp5a8WCYWQ6IHheMiAtIDIKfQoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgYSwgYiwgYywgZXBzOwoKICAgIGNvdXQgPDwgIlBvZGFqIHBvY3phdGVrIHByemVkemlhbHUgYTogIjsKICAgIGNpbiA+PiBhOwogICAgY291dCA8PCAiUG9kYWoga29uaWVjIHByemVkemlhbHUgYjogIjsKICAgIGNpbiA+PiBiOwogICAgY291dCA8PCAiUG9kYWogZG9rbGFkbm9zYyBlcHM6ICI7CiAgICBjaW4gPj4gZXBzOwoKICAgIGlmIChmKGEpICogZihiKSA+PSAwKSB7CiAgICAgICAgY291dCA8PCAiRnVua2NqYSBuaWUgem1pZW5pYSB6bmFrdSB3IHR5bSBwcnplZHppYWxlLiIgPDwgZW5kbDsKICAgICAgICByZXR1cm4gMDsKICAgIH0KCiAgICB3aGlsZSAoZmFicyhiIC0gYSkgPiBlcHMpIHsKICAgICAgICBjID0gKGEgKyBiKSAvIDIuMDsKCiAgICAgICAgaWYgKGYoYykgPT0gMC4wKQogICAgICAgICAgICBicmVhazsKICAgICAgICBlbHNlIGlmIChmKGEpICogZihjKSA8IDApCiAgICAgICAgICAgIGIgPSBjOwogICAgICAgIGVsc2UKICAgICAgICAgICAgYSA9IGM7CiAgICB9CgogICAgY291dCA8PCAiUHJ6eWJsaXpvbmUgbWllanNjZSB6ZXJvd2U6ICIgPDwgYyA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cg==