-1
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
   setlocale(LC_ALL,"Russian");
   int k; long double sum2,x,e,y=0,sum;
   cout << "Введите точность вычисления:" << endl;
   cin >> e;
   for (x=1; x<=10;x+=1)
   {k=0;sum=0;
       while(1) {
           sum2=sum;
           y = (pow(-1, k) * pow(x, 2 * k + 1)) / (2 * k + 1);
           cout << "y"<< y <<endl;
           sum += y;
           if(fabs(sum-sum2)<=e){
               break;}
           k++;
       }
       cout << endl << "atan("<<setprecision(1) << x <<")="<<setprecision(10)<<sum;
   }
   return 0;
 }
Harry
  • 221,325

1 Answers1

2

Ваш ряд сходится только при

|x| < 1

поэтому программа и не работает.

См. https://ideone.com/BI9i0Y

Только вот считать через pow - это просто издевательство! Cм., например, этот вопрос.

Harry
  • 221,325