int i = 1;
int x;
cin >> x;
double eps = 0.000001;
double sum=0;
double lastElementOfSequence;
do{
lastElementOfSequence=pow(1+x,5/2);
sum+=lastElementOfSequence;i++;
}while(fabs(lastElementOfSequence)>eps);
cout.precision(17);
cout<<"sum="<<sum<<endl;
cout<<"Numberofiterations="<<i;
int i = 1;
int x;
cin >> x;
double eps = 0.000001;
double sum=0;
double lastElementOfSequence=1;
do{
sum += lastElementOfSequence;
lastElementOfSequence= -1*x*(2 * i + 3) / (2 * i);
i++;
}while(fabs(lastElementOfSequence)>eps);
cout.precision(17);
cout<<"sum="<<sum<<endl
lastElementOfSequence
надо домножать на коэффициент. Не присваивать ему, а умножать. Это значит, что вы должны делать a=a*k
или a*=k
. А у вас делается a = k
.#include <iostream>
#include <cstring>
using namespace std;
int main() {
system("chcp 1251>nul");
int i = 1;
double x;
cin >> x;
double eps = 0.000001;
double sum = 0;
double lastElementOfSequence = 1;
do {
sum += lastElementOfSequence;
lastElementOfSequence *= -1 * x * (2 * i + 3) / (2 * i);
i++;
} while (fabs(lastElementOfSequence) > eps);
cout << "sum=" << sum << endl;
cout << "Numberofiterations=" << i;
system("pause>nul");
return 0;
}
int i = 1;
int x;
cin >> x;
if (abs(x) >= 1) { cout << "Ряд розбіжний"; }
else {
double eps = 0.000001;
double sum = 0;
double lastElementOfSequence=1;
do {
sum += lastElementOfSequence;
lastElementOfSequence *= -1 * x * (2 * i + 3) / (2 * i);
i++;
} while (fabs(lastElementOfSequence) > eps);
cout.precision(17);
cout << "sum=" << sum << endl;
}