相关疑难解决方法(0)

rand()生成相同的数字 - 即使我的主要是srand(time(NULL))!

所以,我正在尝试创建一个随机向量(想想几何,而不是一个可扩展的数组),每当我调用我的随机向量函数时,我得到相同的x值,尽管y和z是不同的.

int main () {
    srand ( (unsigned)time(NULL));
    Vector<double> a;
    a.randvec();
    cout << a << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

使用该功能

//random Vector
template <class T>
void Vector<T>::randvec()
{
    const int min=-10, max=10;
    int randx, randy, randz;

    const int bucket_size = RAND_MAX/(max-min);

    do randx = (rand()/bucket_size)+min;
    while (randx <= min && randx >= max);
    x = randx;

    do randy = (rand()/bucket_size)+min;
    while (randy <= min && randy >= max);
    y = randy;

    do randz = (rand()/bucket_size)+min;
    while (randz <= min && …
Run Code Online (Sandbox Code Playgroud)

c++ random srand

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×1

random ×1

srand ×1