//--------------------------------------------------------------------------- #include #include int i = 0; using namespace std; struct wynik { double x,y; }; double jaka_wartosc(double x) { return (x*x*x)*(x + sin((x*x) -1) -1) -1; } //--------------------------------------------------------------------------- // f(x)= x3(x + sin(x2 - 1) - 1) - 1 wynik znajdz_x_zero(double min, double max) { double wart, w_max, w_min; wynik tmp; i++; cout << i << endl; double sr = (max + min) / 2; cout << sr << endl; wart = jaka_wartosc(sr); if (abs(wart) <= 0.00000000001) { tmp.x = sr; tmp.y = wart; return tmp; } w_max = jaka_wartosc(max); w_min = jaka_wartosc(min); if (w_min*wart<0) {max=sr;} else {min=sr;} znajdz_x_zero(min,max); } int main(int argc, char* argv[]) { char a; wynik w; w = znajdz_x_zero(1,5); cout << "f( "<< w.x <<" ) = " << w.y << endl; system("PAUSE"); return 0; } //---------------------------------------------------------------------------