Próbuję użyć następującego kodu (pobranego z Internetu) do generowania liczb z rozkładu dwumianowego. Kompiluje się, ale jedna z jego realizacji wisi. (Używam g ++ na mac.)Generowanie liczby z rozkładu dwumianowego przy użyciu C++ TR1
Czy ktoś mógłby zaproponować działający kod do generowania liczb z dwumianowej dystrybucji przy użyciu funkcji biblioteki C++ TR1?
#include <tr1/random>
#include <iostream>
#include <cstdlib>
using namespace std;
using namespace std::tr1;
int main()
{
std::tr1::mt19937 eng;
eng.seed(time(NULL));
std::tr1::binomial_distribution<int, double> roll(5, 1.0/6.0);
std::cout << roll(eng) << std::endl;
return 0;
}
Czy sprawdziłeś, w której linii zawiesza się twój program? (Czy używałeś debuggera?) – Zeta
Zawiesza się w linii cout. Bardziej precyzyjne wywoływanie 'roll (eng)' nie powraca. – kay
Działa dobrze przy użyciu języka C++ 11 std :: binomial_distribution (po usunięciu dodatkowego argumentu szablonu), FYI –