Oppure

Loading
02/10/09 19:51
matteog
programma che svolge le successioni di bernuolli:

#include "stdafx.h"
#include <math.h>;
#include <iostream>
using namespace std;

int fattoriale(int numero);
int main()
{
	double p;
	double q;
	int N=0,K=0;
	double long hat,gat,lat;
	cout<<"quante prove vuoi fare??"<<endl;
	cin>>N;
	cout<<"quale e' la probabilità dell'evento??"<<endl;
	cin>>p;
	q=1-p;
    for(int I=0;I<N;I++)
	{
		long double space=0,mase=0,mat=0,cat=0,sat=0;
		gat=0;lat=0;hat=0;
		space=pow(p,K);
		mase=pow(q,(N-K));
		gat=fattoriale(N);hat=fattoriale(K);lat=fattoriale(N-K);
		sat=space*mase*(gat/(hat*lat));
		cout<<"ecco il valore della P : "<<sat<<endl;
	K++;
	}
	system("pause");
	return 0;
}
int fattoriale(int numero)
{
	int i;
	long double f=1;
	for(i=1;i<=numero;i++)
	{
		f=f*i;
	}
	return f;
}


:heehee:








aaa
02/10/09 22:45
HeDo

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.

aaa
03/10/09 7:36
theprogrammer
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 ...


aaa