Mam na zadanie napisać program obliczający wartość funkcji podanej w postaci rzędu (poniżej), dla wartości x z przedziału [0,1] zwiększanych co 0.1, z błędem 0.0001.
Kod nie jest jeszcze ukończony, ale wstępnie, przy próbie obliczenia dla wartości 0.9 jest jakiś błąd. Program uruchamia się prwidłowo, lecz nie zrywa pętli do..while. Powinien zerwać przy k=2 i wyświetlać 2 razy zmienną element, a wyświetla 10 razy.
Proszę o pomoc i z góry dziękuję.
Kod:
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
double licznik, mianownik = 1, y = 0;
int znak = 1;
double x = 0.9;
int main()
{
do
{
for (int k = 0; k < 10; k++)
{
for (int i = 2 * k + 3; i > 1; i--)
{
mianownik = mianownik * i;
}
licznik = pow(x, 2 * k + 3);
licznik = licznik * znak;
znak = -znak;
y = y + (licznik / mianownik);
mianownik = 1;
cout << element << endl;
}
} while (abs(licznik / mianownik) > 0.0001);
system("PAUSE");
return 0;
}