Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Liczba e

Ostatnio zmodyfikowano 2009-07-31 22:17
Autor Wiadomość
szelki
Temat założony przez niniejszego użytkownika
Liczba e
» 2009-07-31 22:02:23
Postanowiłem napisac program liczący liczbę e wdł. wzoru e=1+1/1!+1/2!....
Wydawało mi się że wszystko jest ok, no ale program nie działa jak powinien. Nie wiedzialem gdzie zrobiłem błąd wieć dopisalem wyświetlanie wyniku każdej operacji żeby zobaczyć gdzie program źle liczy. Moje pytanie brzmi dlaczego a jest równe 0 cały czas? Jak to naprawić?

C/C++
#include <iostream>
#include <cmath>
using namespace std;
int silnia( int n )
{
    switch( n )
    {
    case 1:
        return 1;
        break;
    default:
        return n * silnia( n - 1 );
    }
}


int main()
{
    long double a, b, c = 0, d;
    int z = 1, g, x, liczba = 10;
    for( x = 2; x < liczba; x++ )
    {
        b = c;
        g = silnia( x );
        cout << g << endl;
        a = 1 / g;
        cout << a << endl;
        c = b + a;
        cout << c << endl;
    }
    d = 2 + c;
    cout << d;
    getchar();
}
P-8920
szelki
Temat założony przez niniejszego użytkownika
» 2009-07-31 22:21:27
Mój błąd, dzięki za pomoc:)
P-8922
manfred
» 2009-07-31 22:17:33
a=1/g;
Pomyślałeś, że w działaniach na liczbach całkowitych 1/x, gdzie |x| != 1, zawsze wynosi 0? Zrób
a = 1.0 / g;
Swoją drogą, pięknie napisałeś silnię. Rozumiem, że pętle zabrali?
P-19108
« 1 »
  Strona 1 z 1