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++ - 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:



matteog
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
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.



Ingegnere Informatico
https://ldlagency.it
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 ...




- Se le mie risposte non vi soddisfano, ignoratele, altrimenti un "grazie" e' molto gradito ...

"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
PM Quote