#include <bits/stdc++.h>
using namespace std;
float f(float x)
{
return 2*x*x*x + 3*x -1;
}
int main() {
float a, b, x, c , d;
float e, f1;
cout << "Enter Negative Interval: ";
cin >> a;
cout << "Enter Positive Interval: ";
cin >> b;
cout << "Enter Tolerance: ";
cin >> e;
int i = 1;
do {
c = (a + b) / 2;
f1 = f(c);
if (f1 > 0)
b = c;
else
a = c;
cout << i << ". x = " << c << " f(x) = " << f1 << endl;
i++;
d = b-a;
} while (d >= e);
cout << "\nApproximate Root = " << c << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmZsb2F0IGYoZmxvYXQgeCkKewogICAgcmV0dXJuIDIqeCp4KnggKyAzKnggLTE7Cn0KCmludCBtYWluKCkgewogICAgZmxvYXQgYSwgYiwgeCwgYyAsIGQ7CiAgICBmbG9hdCBlLCBmMTsKCiAgICBjb3V0IDw8ICJFbnRlciBOZWdhdGl2ZSBJbnRlcnZhbDogIjsKICAgIGNpbiA+PiBhOwogICAgY291dCA8PCAiRW50ZXIgUG9zaXRpdmUgSW50ZXJ2YWw6ICI7CiAgICBjaW4gPj4gYjsKICAgIGNvdXQgPDwgIkVudGVyIFRvbGVyYW5jZTogIjsKICAgIGNpbiA+PiBlOwoKICAgIGludCBpID0gMTsKICAgIGRvIHsKICAgICAgICBjID0gKGEgKyBiKSAvIDI7CiAgICAgICAgZjEgPSBmKGMpOwoKICAgICAgICBpZiAoZjEgPiAwKQogICAgICAgICAgICBiID0gYzsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGEgPSBjOwoKICAgICAgICBjb3V0IDw8IGkgPDwgIi4gIHggPSAiIDw8IGMgPDwgIiAgIGYoeCkgPSAiIDw8IGYxIDw8IGVuZGw7CiAgICAgICAgaSsrOwogICAgICAgIGQgPSBiLWE7CiAgICB9IHdoaWxlIChkID49IGUpOwoKICAgIGNvdXQgPDwgIlxuQXBwcm94aW1hdGUgUm9vdCA9ICIgPDwgYyAgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cg==