c/c 随机数产生相同解决方案 - 帐前卒 专栏 - CSDNBlog
来源:百度文库 编辑:神马文学网 时间:2024/04/27 15:27:00
c/c++随机数产生相同解决方案
谨记srand()不要调用两次或两次以上。。
void main()
{
for(int i=0;i<10;i++)
{
srand( (unsigned)time( NULL ) );
cout<}
}
这样调用的时候,因为CPU高速的关系,调用的srand( (unsigned)time( NULL ) ); 生成的种子数一样。导致rand()产生的随机数也一样。
改为:
void main()
{ srand( (unsigned)time( NULL ) );
for(int i=0;i<10;i++)
{
cout<}
}
有时候这些错误很隐蔽,在构造函数中做了一个check方法。在check方法中调用init方法,然后在init方法中产生随机数。注意如果srand((unsigned)time( NULL )); 被写进了check()或者init()等方法中,一定要保证该方法在构造的时候只被调用一次。最好是把该行代码srand((unsigned)time( NULL ) );写到构造函数中进行初始化种子的操作。
谨记srand()不要调用两次或两次以上。。
void main()
{
for(int i=0;i<10;i++)
{
srand( (unsigned)time( NULL ) );
cout<
}
这样调用的时候,因为CPU高速的关系,调用的srand( (unsigned)time( NULL ) ); 生成的种子数一样。导致rand()产生的随机数也一样。
改为:
void main()
{ srand( (unsigned)time( NULL ) );
for(int i=0;i<10;i++)
{
cout<
}
有时候这些错误很隐蔽,在构造函数中做了一个check方法。在check方法中调用init方法,然后在init方法中产生随机数。注意如果srand((unsigned)time( NULL )); 被写进了check()或者init()等方法中,一定要保证该方法在构造的时候只被调用一次。最好是把该行代码srand((unsigned)time( NULL ) );写到构造函数中进行初始化种子的操作。
c/c 随机数产生相同解决方案 - 帐前卒 专栏 - CSDNBlog
C armman的专栏 - CSDNBlog
C 如何支持属性 - jsjwql专栏 - CSDNBlog
c语言词法分析器 - fertiland的专栏 - CSDNBlog
C语言测试题的讲解分析 - 张孝祥专栏 - CSDNBlog
gcc编译c语言中内嵌汇编 - fifan的专栏 - CSDNBlog
经典的C 库 - xlvector的专栏 - CSDNBlog
在 console mode 中使用 C/C 编译器 - Kevin的专栏 - CSDNBlog
项目和解决方案 (C++)
网管必须熟悉的几个网络DOS命令 - C&M专栏 - CSDNBlog
C 资源之不完全导引(完整版) - ugg的专栏 - CSDNBlog
用C# 实现C/S模式下软件自动在线升级 - wzq6511的专栏 - CSDNBlog
逆向 C -- 识别类及其构造函数 - FISH 的专栏 - CSDNBlog
c 四种不同的对象生存方式 - shkkhd的专栏 - CSDNBlog
C 各大有名库的介绍(一) - armman的专栏 - CSDNBlog
C 各大有名库的介绍 zz - denny的专栏 - CSDNBlog
伟大的C语言 - - CSDNBlog
how to use C Vectors ? - CGDTech - CSDNBlog
how to use C Vectors ? - CGDTech - CSDNBlog
string.h和string不相同,糊涂了。 C/C / C语言
CMS中文编码问题分析及解决方案 - XOOPS 专栏 - CSDNBlog
c.LINK双向网络改造解决方案介绍
使用C编译器产生清晰的二进制文件
同感一篇文章“ 我们的感情在C语言时创建,在J2EE时消亡(程序人生)” - fannian的专栏 - CSDNBlog