Вот правильная функция:
double SumSeries()
{
int fact = 1, n, sign = -1, factnum = 3;
float sum = 0, term, x;
cout<<"How many terms: ";
cin>>n;
cout<<endl<<"Enter value of x: ";
cin>>x;
sum += x;
for(int i = 2; i <= n; i++)
{
fact = 1;
for(int j =1; i <= factnum; j++)
fact *= j;
term = pow(x, i)/fact * sign;
sum += term;
factnum += 2;
}
return sum;
}
Я пробовал несколько способов, но вывод зависает после этого:
Во внутренней петле for(int j =1; i <= factnum; j++)
, Вы использовали i
вместо j
в условной части цикла. Так что это происходит в бесконечном цикле.
Чтобы исправить свой код просто измените i <= factnum;
в j <= factnum;
во внутренней петле.
Других решений пока нет …