Задача: рассчитать значение суммы ряда.
Написать на C++
Учусь в универе, нужно сдать до экзамена.
Зарание спасибо)

double x, eps, s, t;
long i = 0;
cin >> x >> eps;
s = t = sin(x);
x += x;
while(abs(t) < eps) {
i += 3;
t = -t * x / ((i - 2) * (i - 1) * i);
s += t;
}
cout << s;
Такие вещи нужно писать очень тщательно, даже близко не подпуская к этому процессу профанов и любителей!
Синус сразу выносится за знак суммы, 2•х тоже сразу вычисляется- незачем эти величины в цикле считать. Факториал вычислять не требуется, он возникнет автоматически. А сам бесконечный полином лучше всего считать самым быстрым способом: а0+х•(а1+х•(а2+...)). Точность для интереса надо вместо стандартно выводимой сделать разрядов 16 после запятой. Вводятся аргумент х и n, играющий роль бесконечности. Процесс вычислений повторяется сколько потребуется раз.
#include "iostream"
#include "cmath"
using namespace std;
int main()
{int i,i3,n;double x,x2,s; ffm:cout<<"x Inf >";cin>>x>>n;s=1;x=2*x; for(i=1;i<=n;i++){i3=3*i; s*=1-x2/(i3*(i3-1.)*(i3-2));}
cout.precision(16);cout<<s*sin(x)<<'\n';goto ffm;}
//В цикле в (i3-1.) точка после 1 обязательна! Это предотвращает целочисленное переполнение. Тип целых я написал int потому что у меня этот тип 4-байтный, (знаковый до ≈2 миллиардов, беззнаковый до четырёх), но можно и long поставить- хуже не будет.
А сам этот ряд численно сходится довольно таки плохо и коряво при больших |х|. Поэтому надо брать Inf=n побольше, а это чревато целочисленным переполнением при вычисления знаменателя в цикле.