Răspuns:
#include <iostream>
using namespace std;
double f(double x)
{
return (x*x+x+1)*(x*x+x+2)-12;
}
double solutia(double a, double b, int n)
{
double c;
for (int i=1; i<=n; ++i)
{
c=(a+b)/2;
if (f(c)==0) break;
else
{if (f(c)*f(a)>0) a=c;
else b=c;}
}
return c;
}
double a,b,c;
int n, i;
int main()
{
cout << "pe intervalul [-3,-1] solutia este "<< solutia(-3,-1,20) << endl;
cout << "pe intervalul [0,1] solutia este "<< solutia(0,1,20) << endl;
}
Explicație: