急求c++解答~~~

来源:百度知道 编辑:UC知道 时间:2024/06/08 10:39:41
这道题怎么编程啊,要用二分法的,谁能帮帮我,急着要啊~~
编写c++语言风格的程序用二分法求解f(x)=2*X*X-4*X+1
哪个高手帮下忙啊,小女子感激不尽了~~

#include <iostream>
#include <cmath>
using namespace std;

int sign(double x)
{
int r;
if(x > 0)
r = 1;
else if(x < 0)
r = -1;
else
r = 0;
return r;
}

template <typename Funtor>
double binaryMethod(Funtor f)
{
double a, b, m, fa, fb, fm;
a = f.getLow();
b = f.getHigh();
m = a + (b - a) / 2;
fa = f(a);
fb = f(b);
fm = f(m);
if(sign(fa) == sign(fb))
{
cout << "error" <<endl;
return 0.0;
}
while(fabs(b - a) > 1e-8)
{
if(sign(fa) == sign(fm))
{
a = m;
fa = fm;
}
else
{
b = m;
fb = fm;
}
m = a + (b - a) / 2;
fm = f(m);
}
return m;
}

class Fun
{
private:
double _low, _high;
public:
Fun(double low, double high) : _