Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Calcolo numero di nepero
Forum - C/C++ - Calcolo numero di nepero

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
scarlett68 (Normal User)
Newbie


Messaggi: 10
Iscritto: 05/03/2010

Segnala al moderatore
Postato alle 17:55
Venerdì, 05/03/2010
Mi serve, cortesemente aiuto per realizzare un programma in c++ che permette di calcolare i primi 10000000 numeri della costante e (numero di nepero). Io l'ho fatto ma non funziona!

EDIT by HeDo: C++ nel titolo... siamo nella sezione C++...

Ultima modifica effettuata da HeDo il 14/03/2010 alle 18:44
PM Quote
Avatar
gio97 (Ex-Member)
Guru


Messaggi: 715
Iscritto: 25/04/2009

Segnala al moderatore
Postato alle 18:14
Venerdì, 05/03/2010
Posta quello che hai scritto, dì cosa non funziona: sono errori di compilazione, di semantica. Non abbiamo la sfera di cristallo.

Ultima modifica effettuata da gio97 il 05/03/2010 alle 18:16


"Ditemi, sapete chi è... il ciaffo?"
"Questo essere trae origine da un arcaico lamer.
Tanto tempo fa, in una chat oscena oscena, il lamer f1192 si lamentava di non poter inserire le graffe, perché non aveva... IL CIAFFO"(L'uomo che sussurrava ai ciaffi)
PM Quote
Avatar
scarlett68 (Normal User)
Newbie


Messaggi: 10
Iscritto: 05/03/2010

Segnala al moderatore
Postato alle 18:19
Venerdì, 05/03/2010
scusate! ecco il programma
main(){
float y=1, x=1;
int n=1;
do {
    y= y/n;
    x= x+y;
    count<<"\n %10d   %25.21f   %25.21f", n, y, x;             //errore
    n= n+1;
    if (!(n%10)) getch 1);
    }while   (n<10000000);
    getch;
}

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 950
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 20:59
Venerdì, 05/03/2010
Progetto piuttosto ambizioso!

Ho letto il tuo programma, e non ho trovato una struttura di dati in grado di
memorizzare 10000000 numeri.
Ti ricordo che i "float" sono formati solo da 4 byte, quindi possono memorizzare un numero di soli 6/7 cifre!

Inoltre la funzione "count" non esiste.  

Ultima modifica effettuata da Poggi Marco il 05/03/2010 alle 23:36


Nulla va più veloce della luce, quindi rilassati.
PM Quote
Avatar
gio97 (Ex-Member)
Guru


Messaggi: 715
Iscritto: 25/04/2009

Segnala al moderatore
Postato alle 21:13
Venerdì, 05/03/2010
anche se fosse cout, quello sembra un printf...


"Ditemi, sapete chi è... il ciaffo?"
"Questo essere trae origine da un arcaico lamer.
Tanto tempo fa, in una chat oscena oscena, il lamer f1192 si lamentava di non poter inserire le graffe, perché non aveva... IL CIAFFO"(L'uomo che sussurrava ai ciaffi)
PM Quote
Avatar
giuseppe93 (Ex-Member)
Pro


Messaggi: 166
Iscritto: 02/08/2009

Segnala al moderatore
Postato alle 21:49
Venerdì, 05/03/2010
Testo quotato

Postato originariamente da scarlett68:

    count<<"\n %10d   %25.21f   %25.21f", n, y, x;             //errore



si direbbe che hai fatto un po' di confusione tra c e c++! :rofl::rofl:
si scrive in questo modo:
cout<<endl<<" "<<n<<" "<<x<<" "<<y;


:)
PM Quote
Avatar
Matthew (Member)
Expert


Messaggi: 387
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 5:19
Sabato, 06/03/2010
Testo quotato

Postato originariamente da scarlett68:

Mi serve, cortesemente aiuto per realizzare un programma in c++ che permette di calcolare i primi 10000000 numeri della costante e (numero di nepero). Io l'ho fatto ma non funziona!



Immagino tu intendessi "le prime 10000000 cifre, del numero di napier".
In ogni caso non è semplicissimo, a causa dell'enorme numero di cifre che ti sei posto come obbiettivo.
A giudicare dal codice che hai postato, senza offesa, è decisamente al di là delle tue attuali capacità. Potresti usare una libreria per grandi numeri, ma il miglior consiglio che ti posso dare è di rimandare il tuo progetto. Studia e comincia a fare pratica con problemi più semplici.

Ultima modifica effettuata da Matthew il 06/03/2010 alle 5:20


"I have never let my schooling interfere with my education." Mark Twain
PM Quote
Avatar
scarlett68 (Normal User)
Newbie


Messaggi: 10
Iscritto: 05/03/2010

Segnala al moderatore
Postato alle 15:38
Sabato, 06/03/2010
scusate ho scritto una n in più a cout e comunque l'esercizio è stato assegnato dal prof di matematica ( Stiamo studiando i limiti) ma credo che volesse dimostrare che per n piccoli tutto ok (si approssima a e) per n grandi invece il risultato è 1, perchè 1/n diventa qualcosa del tipo 0.000000000001 e per un calcolatore questo è 0 , quindi (1+0)^n = 1 per qualsiasi,( La settimana scorsa in laboratorio abbiamo studiato gli errori di rappresentazione!)

PM Quote
Avatar
Matthew (Member)
Expert


Messaggi: 387
Iscritto: 29/01/2007

Segnala al moderatore
Postato alle 17:39
Sabato, 06/03/2010
Ovviamente l'esercizio è semplice se ti accontenti di poche cifre significative, come il tuo prof ha mostrato. Se vuoi calcolare più cifre, diventa un problema, perchè la variabile più precisa è il double, il quale può contenere solo una decina di cifre significative.
Esistono librerie apposite per fare quello che hai chiesto, ma senza queste librerie è un problema abbastanza complicato.


"I have never let my schooling interfere with my education." Mark Twain
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo