Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - programma cè degli errori o può essere migliorato?accetto consigli grazie
Forum - C/C++ - programma cè degli errori o può essere migliorato?accetto consigli grazie

Avatar
matteog (Normal User)
Pro


Messaggi: 149
Iscritto: 10/04/2009

Segnala al moderatore
Postato alle 21:51
Venerdì, 02/10/2009
programma che svolge le successioni di bernuolli:

Codice sorgente - presumibilmente C

  1. #include "stdafx.h"
  2. #include <math.h>;
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. int fattoriale(int numero);
  7. int main()
  8. {
  9.         double p;
  10.         double q;
  11.         int N=0,K=0;
  12.         double long hat,gat,lat;
  13.         cout<<"quante prove vuoi fare??"<<endl;
  14.         cin>>N;
  15.         cout<<"quale e' la probabilità dell'evento??"<<endl;
  16.         cin>>p;
  17.         q=1-p;
  18.     for(int I=0;I<N;I++)
  19.         {
  20.                 long double space=0,mase=0,mat=0,cat=0,sat=0;
  21.                 gat=0;lat=0;hat=0;
  22.                 space=pow(p,K);
  23.                 mase=pow(q,(N-K));
  24.                 gat=fattoriale(N);hat=fattoriale(K);lat=fattoriale(N-K);
  25.                 sat=space*mase*(gat/(hat*lat));
  26.                 cout<<"ecco il valore della P : "<<sat<<endl;
  27.         K++;
  28.         }
  29.         system("pause");
  30.         return 0;
  31. }
  32. int fattoriale(int numero)
  33. {
  34.         int i;
  35.         long double f=1;
  36.         for(i=1;i<=numero;i++)
  37.         {
  38.                 f=f*i;
  39.         }
  40.         return f;
  41. }
  42.  
  43.  
  44. :heehee:


PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 0:45
Sabato, 03/10/2009

il programma può essere migliorato mettendo tra ogni riga di codice una riga vuota e mettendo dei nomi sensati e coerenti alle variabili. Per il resto ti sei attenuto alla definizione sia di fattoriale che di successione di bernoulli. A parte cambiare l'algoritmo non vedo altro miglioramento.


PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 9:36
Sabato, 03/10/2009
Mi sembrava di averti detto che la funzione fattoriale non dovesse restituire un int.

Infatti, calcoli il fattoriale con un long double ma restituisci un int (e questo dovrebbe darti problemi di compilazione e calcolo.)

Come gia' ti ho detto, deve essere

long double fattoriale(int numero)

P.S. Anche l'italiano può essere migliorato ...



PM Quote