feature image - https://source.unsplash.com/random/900×600/?game&sig=f4fa0117-da49-490d-b9f9-329ab6fb72af

Esercizio C++: Simulare il lancio di tre dadi in C++

Esercizio

Simulare 100 lanci di tre dadi in C++ e stampare a video il contatore della somma dei tre valori estratti ogni volta. Ad esempio se escono i numeri 2 3 4 dovrò aumentare di uno il contatore relativo alla somma 9 e così via.

EXTRA: Disegnare il diagramma delle frequenze relativo

Soluzione

#include <random>
#include <iostream>


int main()
{

std::random_device rd;
std::mt19937_64 gen(rd());

std::uniform_int_distribution<unsigned long long> dis;

int somme[16] = {0};


for (int n=0; n<1000; ++n) {
auto dado1 = dis(gen) % 6 +1;
auto dado2 = dis(gen) % 6 +1;
auto dado3 = dis(gen) % 6 +1;

auto somma_dadi = dado1 + dado2 + dado3;
somme[somma_dadi-3]++;
}

/* stampo le frequenze di ogni somma */
for (auto i = 0; i < 16;i++) {
std::cout << "["<< i+3 <<"] = "<< somme[i] << std::endl;
}

/* EXTRA: disegnare l'istogramma delle frequenze */
int max_value = somme[0];
for (auto i = 0; i < 16;i++)
if (somme[i] > max_value)
max_value = somme[i];


for (auto i = 0; i < 16;i++) {
std::cout << "["<< i+3 <<"] = " << int((somme[i]/float(max_value))*40);
for(auto j = 0;j<int((somme[i]/float(max_value))*40);j++)
std::cout << "*";

std::cout << std::endl;
}
return 0;
}

Esercizi sulle stringhe in C++

### Esercizi suggli array in C++

Esercizi sulle funzioni in C++

Esercizi sulle matrici / array bidimensionali in C++

Andrea Pollini

Matematico, informatico.