В приведенном ниже коде реализована дискретная функция распределения вероятностей по 0,1, .., n ^ 2-1 (которую я определил ранее в своей программе). В конце я получил экземпляр этого PDF, который является значением «число».
Но по некоторым причинам, которые я не знаю, я получил две ошибки, одна:
«ожидаемый постоянный размер» за «int prob [val]» другая ошибка: «ошибка c2661» за дискретное распределение это говорит мне, что он может не получить два аргумента, но мне нужно дать ему два параметра, и я видел примеры этого раньше …
заранее спасибо
vector< double> weights( n);
for( int count = 0; count < (n*n); ++count) {
weights[count] = pdf( i,count,n);
}
std::default_random_engine generator;
std::discrete_distribution<int> distribution( weights.begin(), weights.end()) ;
int number=0;
const int val = n*n;
int prob[val]={};
for ( int count=0; count<(n*n); ++count ) {
number = distribution( generator);
++prob[number];
}
Задача ещё не решена.
Других решений пока нет …