Нужно найти нужную рекурсивную функцию, а именно float RECUR. Если сможете, то исправить немного код
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
float U1, U2, sum, x, eps;
int n, k;
Нужно подобрать правильный рекурсив
float RECUR(float x, int m)
{
if (m == 1) return x * x / (2 * m - 1 - 2);
else return RECUR(x^2, m - 1) * x * m / (m - 1);
}
Инпут выставлен правильно
void INPUT() {
while (true) {
cout << "Input x and eps \n";
cin >> x >> eps;
if (eps > 0) break;
cout << "Error! Try another eps \n";
}
}
Здесь есть ошибки из-за того, что не могу подобрать правильный рекурсив, под это дело
int main()
{
INPUT();
U1 = pow((-1), (n - 1)) * pow(x, (2 * n + 1)) / (2 * n - 2); n = 1; sum = U1;
while (true)
{
n++;
U2 = -U1 * (pow(x, 2)) / (2 * n * (2 * n - 1));
sum = sum + U2;
if (n == k - 1 || fabs(U2 - U1) < eps)
n++;
U1 = U2;
}
cout << "For x = " << x << ", eps = " << eps << ", n = " << n << " sum = " << sum << endl;
_getch();
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Ну, например, так:
double Func(double x, double eps, double term = 0, int n = 0)
{
if (n == 0) term = x*x*x;
else
{
if (abs(term) < eps) return term;
term *= -x*x/(2*n*(2*n-1));
}
return term + Func(x,eps,term,n+1);
}
Убедитесь, что функция правильно вычисляет ваш ряд (для x^3*cos(x)).
