Funkcje matematyczne c++

0

Witam. Mam do napisania program : 1+(x2)/(2!)+(x4)/(4!)+(x6)/(6!)...

 double horner(double x, double n,double wynik)
{
wynik=1;
for(int i=n-1;i>0;i--)
{
wynik=(wynik*((x*x)/(2*i*(2*i))));
}
return wynik;
}

Mógłby ktoś powiedzieć czy to jest dobrze i gdzie są błędy

1

Ech źle źle.

  1. Nie rozumiesz chyba co to jest silnia.
    6! = 12345*6 = 4!56
    No i przez to głupie odwrócenie licznika pętli w ogóle to zabiłeś ;]
  2. Widzisz chyba że we wzorze masz jakieś dodawanie a u ciebie go brakuje ;]
 double horner(double x, double n,double wynik)
{
  wyraz=1;
  wynik=1;
  for(int i=0;i<=n;++i)
  {
    wyraz*=(x*x)/(2*(i+1)*(2*i+1));
    wynik+=wyraz;
  }
  return wynik;
}
0

Dzięki. Już rozumiem :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1