Hast mal nur so p[i] ausgegeben und geschaut, ob da auch was größer 0 drinnen steht?
Jep deswegen verwundert es mich ja auch.
Es kommen (bei dem Durchlauf) teils Werte von 240 raus, deswegen ist es so merkwürdig.
C
// binomial_distribution
#include <iostream>
#include <random>
#include <iomanip>
int main()
{
using namespace std;
const int nrolls = 1000; // Anzahl an Versuchen
const int maxIndex = 10;
default_random_engine generator;
binomial_distribution<int> distribution(10, 0.5);
int p[maxIndex+1] = {};
for (int i = 0; i < nrolls; ++i) {
int number = distribution(generator);
++p[number];
}
for (int i = 0; i <= maxIndex; ++i) {
std::cout << i << ": " << fixed << setprecision(20) << (double)((p[i]/nrolls)*100) << "%"<<std::endl;
}
system("pause");
return 0;
}
Alles anzeigen