According to my function, this method should count the zero of the function = 3.75, but it counts only 3, and at any intervals. Function: f(x)=(x - 48) * (x - 48) + (sin (x - 48)) Here is the graph of the function: 
Algorithm code:
double f4(double x) { return ((1/8) * (sin (x - (30/8))) + (30/8)); } double iter(double a, double b, double eps) { int k=0; double x0,xk; x0=(a+b)/2; do { xk=f4(x0); if (fabs(xk-x0)<eps) break; else x0=xk; } while (fabs(a-x0)>eps && fabs(b-x0)>eps); cout << "Ноль функции = "<<xk<<"\n"; return xk; }