Witajcie
Potrzebuję pomocy przy rozwiązaniu zadanka. Muszę stworzyć funkcję, która wyliczać mi będzie sinusx sumując kolejne wyrazy działania (wzór w załączniku). Doszedłem do tego, że każdy następny element wynika z drugiego, czyli mnożony jest przez -1, licznik mnożony przez x*x, a mianownik zwiększany przez kolejne liczby.
Szczerze mówiąc, siedzę już nad tym dość długo i nie mogę wpaść na ten właściwy sposób rozwiązania, bo niestety, mój sposób nie działa, być może winny jest przekroczony zakres double, ale jak to zastąpić :/
Poniżej zamieszczam, to co udało mi się wypocić.
double sinus(double x, double eps)
{
double sinus = 0.0, tmp = 1.0;
double licznik = x;
double mianownik = 1.0;
int i = 2;
sinus = licznik / mianownik; // 1. element
while( Math.abs(tmp - sinus) > eps )
{
tmp = sinus;
licznik = (-1)*licznik * (x * x);
mianownik = mianownik * i * (i+1);
sinus = licznik / mianownik;
i += 2;
}
return sinus;
}
Proszę Was o pomoc, wskazówki, co zrobić, żeby to działało jak powinno
Pozdrawiam
Sizzla