C++ Вычислить с точностью до заданного 0<ε<1:
очень нужна помощь
Задание такое: Вычислить с точностью до заданного 0<e<1:
Значение 0<x<2 задать с клавиатуры. Считать, что нужная точность достигнута, если очередное слагаемое по модулю меньше e.
Следующий код получился по данной задачи
int main()
{
setlocale(LC_ALL, "Russian");
double x = 0, eps = 0;
const double x1 = 0, x2 = 2, eps1 = 0, eps2 = 1;
double new_x1 = (x2 - x1) / 2, new_x2 = (x2 + x1) / 2,
new_eps1 = (eps2 - eps1) / 2, new_eps2 = (eps2 + eps1) / 2;
if (fabs(x - new_x2) >= new_x1 || fabs(eps - new_eps2) >= new_eps1)
return 0;
double sum = 0, memb = x, n = 1;
while (fabs(memb) >= eps)
{
sum += memb;
n += 2;
memb *= -x * x / n / (n - 1);
}
cout << sum;
return 0;
}
Источник: Stack Overflow на русском