Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C-用某种密度填充矩阵_C_Matrix_Initialization - Fatal编程技术网

C-用某种密度填充矩阵

C-用某种密度填充矩阵,c,matrix,initialization,C,Matrix,Initialization,我有这段代码,用0/1的值和ρ密度填充矩阵。对于从0到2的值,我需要相同的值。我的意思是,零的百分比应该是相同的,但是其他值在1-2范围内 for (i = 1; i <= n; i++) { for (j = 1; j <= n; j++) { grid[cur][i][j] = (((float)rand())/RAND_MAX) < rho; } } for (i = 1; i <= n; i++) { for (j = 1

我有这段代码,用0/1的值和ρ密度填充矩阵。对于从0到2的值,我需要相同的值。我的意思是,零的百分比应该是相同的,但是其他值在1-2范围内

for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
        grid[cur][i][j] = (((float)rand())/RAND_MAX) < rho;
    }
}
for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
        grid[cur][i][j] = (((float)rand())/RAND_MAX) < rho ? 0 : rand() % 2 + 1;
    }
}

我认为这段代码将创建具有RHO密度的0和范围为1-2的其他值

for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
        grid[cur][i][j] = (((float)rand())/RAND_MAX) < rho;
    }
}
for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
        grid[cur][i][j] = (((float)rand())/RAND_MAX) < rho ? 0 : rand() % 2 + 1;
    }
}

对于(i=1;i我认为该代码将创建0,RHO密度和范围为1-2的其他值

for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
        grid[cur][i][j] = (((float)rand())/RAND_MAX) < rho;
    }
}
for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
        grid[cur][i][j] = (((float)rand())/RAND_MAX) < rho ? 0 : rand() % 2 + 1;
    }
}

for(i=1;i您的问题是什么?您希望对此进行审查吗?我不确定是否理解您的问题。您是否在寻找更好的代码?您是否在寻找更改
0
位置但保持
0
总计数的代码(并将
1
更改为
1
2
)?@Yunnosch是的,我在寻找一个经过审核的版本。你的问题是什么?你想让这个版本被审核吗?我不确定我是否理解你的问题。你在寻找更好的代码吗?你在寻找更改
0
位置但保持
0
总计数的代码吗(并将
1
更改为
1
2
)?@Yunnosch是的,我正在寻找一个经过审查的版本。如果我设置rho=0.1,这段代码使用非零值的高百分比来计算矩阵,使用0.9来计算小百分比,这与我想要的正好相反。因此只需更改rho,它就可以工作了。谢谢!但请注意,对于许多
rand()
实现,
rand()%2
不是那么随机。对于一个游戏来说可能很好,但是对于任何你关心结果的模拟来说都不好。如果我设置rho=0.1,这个代码使用非零值的高百分比来计算矩阵,使用0.9来计算小百分比,这与我想要的正好相反。所以只需要改变rho
中的值,它就可以工作了。谢谢!但是请注意t对于许多
rand()
实现来说,
rand()%2
并不是那么随机的。对于游戏来说可能不错,但是对于任何你关心结果的模拟来说,都不好。