3

下面是我的代码:

uniform_int_distribution<>temp(-1,1);
default_random_engine e((unsigned int)time(0));
for(int a=0;a<50;a++){
cout<<temp(e)<<endl;
}

你知道,我希望数字范围是 -1,0,1,这三个数字。实际上结果通常只包含 0 和 1。如果我多次运行这个程序,那么 -1 很少会是最后一次的数字。我不知道为什么,uniform_int_distribution 应该包含-1,对吧?

4

1 回答 1

4

这是一个显然已修复的错误:http ://connect.microsoft.com/VisualStudio/feedback/details/712984

如果您现在需要一个解决方法而不安装软件更新,为什么不直接生成 0 到 2,然后再减去 1?

于 2012-08-09T05:11:45.703 回答