Помогите наладить программу. (C++)
Программа для вычисления суммы ряда чисел.
Однако, при любых введенных мной значениях ряды расходятся.
Никак не могу найти ошибку. Может что с формулой не так.
#include "stdafx.h"
#include
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
const int MaxIter = 500;
double x, xna4, xkon, dx, eps;
cout << "Введите x начальное\n"; cin >> xna4;
cout << "Введите x конечное\n"; cin >> xkon;
cout << "Введите dx\n"; cin >> dx;
cout << "Введите точность\n"; cin >> eps;
bool done1 = true;
double ch = 3.1415 / 2, y = ch;
int n;
cout << "____________________________________________________________\n";
cout << "|" << setw(10) << "x" << setw(10) << "|" << setw(10) << "f" << setw(10) << "|" << setw(10) << "n" << setw(10) << "|" << endl;
cout << "____________________________________________________________\n";
setprecision(4);
for (x = xna4; x <= xkon; x++)
{
for (n = 0; fabs(ch) > eps; n++)
{
ch *= (x*x*(2*n-1))/(2*n-1);
y += ch;
if (n > MaxIter)
{
cout << "|" << setw(10) << x << setw(10) << "|" << setw(25) << "Ряд расходится" << setw(15) << "|" << endl;
done1 = false; break;
}
}
if (done1 == true)
cout << "|" << setw(10) << x << setw(10) << "|" << setw(10) << setprecision(4) << y << setw(10) << "|" << setw(10) << n << setw(10) << "|" << endl;
ch = 3.1415 / 2, y = 0; done1 = true;
}
cout << "____________________________________________________________\n";
system("pause");
return 0;
}
x*x*(2*n-1)/(2*n+1)*
x^2n+1/2n+1 - не упрощенная формула