双重随机数(0,1),0,1表示学校

时间:2016-11-06 18:11:11

标签: c++ random

我试图制作代码,用于存储间隔(0到1)中除0和1之外的随机双数。

到目前为止我做了这个,但它显然是从0到1的间隔,包括0和1.那个IF条件是因为我不知道如何排除1和0所以循环返回1生成新号码。

如何修改此功能以从上述间隔正确生成?我们不在学校使用C ++ 11,所以请告诉我如何修改生成线。生成种子是主要功能。

这个程序有效,但老师特别要求我们从(0,1)其他点开始生成

void init(double *A, const int N)
{  
    double p;

    for(int i=0; i<N; ++i)
    {
        //  p = (((double)rand() / RAND_MAX) + 1) / (((double)(RAND_MAX))+2);
        p = (double)rand() / RAND_MAX;
        if(p == 0 || p == 1)
        {
            i--;
            continue;
        }
        else A[i]= p;
    }
}

0 个答案:

没有答案