Запрограммировать метод, позволяющий вычислить значения (найти сумму ряда)

code: #cpp
#include <stdio.h>
#include <math.h>
 
 
int main()
{
	double x, eps;
	double res, i, tmp, add;
	printf("Enter x:");
	scanf("%lf", &x);
	printf("Enter eps:");
	scanf("%lf", &eps);
	if(eps < 0) eps = 0; // макс точность
 
	res = 1;
	for(i = 2; ;i += 1.0f)
	{
		add = pow(x, i - 1) / i;
		tmp = res + add;
		if(fabs(add) < eps || 	// вылезли за eps
			(!(tmp > res) && !(tmp < res)) ||  // предельная точность
			i > 10000.0f) // на всякий случай
			break;
		res += add;
	}
 
	printf("Eps: %.2e; Adds: %.0lf; Last add: %.17lf;\n",
		eps>fabs(add)?fabs(add):eps, i - 1.0f, add);
	printf("Result: %.17lf\n", res);
	return 0;
}  

автор: theos

Поделиться:

Похожие статьи: