Richiesta vaga...
Un esempio classico con i lanci di una moneta è questo
#include <cstdlib>
#include <ctime>
#include <random>
#include <iostream>
using namespace std;
const int sessioni_di_lancio_moneta = 100;
const int lanci_moneta_per_sessione = 4;
int numero_di_teste_per_sessione[sessioni_di_lancio_moneta] = {0};
int risultati_sessioni[lanci_moneta_per_sessione + 1] = {0};
int risultati_teorici[lanci_moneta_per_sessione + 1] = {0};
int main(void) {
// seed numeri random
srand(time(0));
cout << "Totale sessioni di lancio della moneta: " << sessioni_di_lancio_moneta << endl;
cout << "Totale lanci della moneta all'interno della sessione: " << lanci_moneta_per_sessione << endl;
cout << endl;
// simulazione sessione lanci di moneta
int i, j;
for(i = 0; i < sessioni_di_lancio_moneta; i++)
for(j = 0; j < lanci_moneta_per_sessione; j++)
if(rand() & 1)
numero_di_teste_per_sessione[i]++;
// risultati lanci
for(i = 0; i < sessioni_di_lancio_moneta; i++){
cout << "Totale teste nella sessione di lancio " << i + 1 << " : " << numero_di_teste_per_sessione[i] << endl;
risultati_sessioni[numero_di_teste_per_sessione[i]]++;
}
cout << endl;
// distribuzione teorica
default_random_engine generatore;
binomial_distribution<> teste(lanci_moneta_per_sessione, 0.5);
for(i = 0; i < sessioni_di_lancio_moneta; i++)
risultati_teorici[teste(generatore)]++;
// previsioni teoriche
for(j = 0; j <= lanci_moneta_per_sessione; j++)
cout << "Numero di sessioni stimate in cui escono " << j << " teste : " << risultati_teorici[j] << endl;
cout << endl;
// risultati simulazioni
for(j = 0; j <= lanci_moneta_per_sessione; j++)
cout << "Numero di sessioni in cui sono uscite " << j << " teste : " << risultati_sessioni[j] << endl;
return 0;
}