Policzyć sumę wyrazów ciągu An= (n+1)/(1+2n+n2 ) gdzie n=1, 2, 3,. . .
Sumowanie wykonywać do momentu, gdy ostatni dodany wyraz ciągu jest
mniejszy niż wprowadzona liczba epsilon.
Mój kod:
#include <iostream>
using namespace std;
double A(int n){
n=1.0;
return (n+1.0)/(1.0+(2.0)*n+n*n);
}
int main()
{
int n;
double epsilon, x=0;
cout << "Podaj epsilon: ";
cin>>epsilon;
do
{
x=x+A(n);
n++;
}while (A(n-1)>=epsilon);
cout<<"Suma wyrazow ciagu An: "<<x;
return 0;
}
Gdy wpiszę epsilon większy od 0.5, to pokazuje dobry wynik (0.5), natomiast dla epsilon<=0.5 program przechodzi do następnej linii. Wpatruję się w ten kod i nie mam pojęcia, co jest nie tak. Pomocy :(.