多次调用函数(随机)分别给数组(vector)初始化附值,可是数组的结果都一样?

flybird70 2008-02-27 05:56:21
int ps(vector<int> &v)//调用的函数
{

srand( (unsigned)time( NULL ) );
//-------------------------------------------
for( int i = 0; i < 10; i++ ) {

int m1 = rand()%10;
int m2 = rand()%10;
int m3 = rand()%10;

v.push_back(m1);v.push_back(m2);v.push_back(m3);

}

}

int main()
{
vector<int> v0;
vector<int> v1;
vector<int> v2;
vector<int> v3;
vector<int> v4;
vector<int> v5;
vector<int> v6;
vector<int> v7;
vector<int> v8;
vector<int> v9;

ps(v0);ps(v1);ps(v2);ps(v3);ps(v4);ps(v5);ps(v6);ps(v7);ps(v8);ps(v9);//附值

}

我想通过多次调用ps函数分别给v0,v1,v2,v3,v4,v5,v6,v7,v8,v9初始化附值,可是为什么这十个数组的结果都一样,而ps函数是随机数附值的啊,请明示.
...全文
109 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryfdizuo 2008-02-27
  • 打赏
  • 举报
回复
问题解决了啊,jf
sinosinux 2008-02-27
  • 打赏
  • 举报
回复
种子有问题
flybird70 2008-02-27
  • 打赏
  • 举报
回复
newran 怎么用?
laolaoliu2002 2008-02-27
  • 打赏
  • 举报
回复
建议使用newran,这个库超级好用。
  • 打赏
  • 举报
回复
种子问题,种子都一样的,按照ls说的作吧
baihacker 2008-02-27
  • 打赏
  • 举报
回复
srand( (unsigned)time( NULL ) );
放在main里
因为函数调用太快,每次初始化随机数发生器都是同一个数.

64,849

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧