Random 矩阵C规划中的随机数生成

Random 矩阵C规划中的随机数生成,random,Random,我试图设计一个程序,输出一个随机的0和1的网格,所以网格中的每个位置都有1而不是0的可能性。我已经设法用不同的大小对网格进行排序,但我想不出一种方法来随机分配每个位置一个数字。到目前为止,我所做的只是将所有位置分配给0 int Lx,Ly,x,y; printf("Input height\n"); scanf("%d", &Lx); printf("Input width\n"); scanf("%d", &Ly); char mat[Lx][Ly]; for(x=0;x

我试图设计一个程序,输出一个随机的0和1的网格,所以网格中的每个位置都有1而不是0的可能性。我已经设法用不同的大小对网格进行排序,但我想不出一种方法来随机分配每个位置一个数字。到目前为止,我所做的只是将所有位置分配给0

int Lx,Ly,x,y;

printf("Input height\n");
scanf("%d", &Lx);
printf("Input width\n");
scanf("%d", &Ly);

char mat[Lx][Ly];

for(x=0;x<Lx;x++)
for(y=0;y<Ly;y++)
mat[Lx][Ly]='0';

for(x=0;x<Lx;x++)
{
     for(y=0;y<Ly;y++)
    printf("%c\t",mat[Lx][Ly]);
    putchar('\n');
}
return(0);
intlx,Ly,x,y;
printf(“输入高度\n”);
扫描频率(“%d”和&Lx);
printf(“输入宽度\n”);
scanf(“%d”、&Ly);
炭垫[Lx][Ly];
对于(x=0;x使用
rand()%2

char mat[Lx][Ly];

for (x=0; x < Lx; x++)
{
    for (y=0; y < Ly; y++)
    {
        int i = rand() % 2;   // 0 or 1 as int
        char cell = '0' + i;  // 0 or 1 as ASCII character
        mat[x][y] = cell;     // store character in matrix
    }
}
charmat[Lx][Ly];
对于(x=0;x
印刷品

for(x=0; x < Lx; x++)
{
    for (y=0; y < Ly; y++)
        printf("%c\t",mat[x][y]);
        putchar('\n');
    }
}
(x=0;x { 对于(y=0;y
使用
rand()%2

char mat[Lx][Ly];

for (x=0; x < Lx; x++)
{
    for (y=0; y < Ly; y++)
    {
        int i = rand() % 2;   // 0 or 1 as int
        char cell = '0' + i;  // 0 or 1 as ASCII character
        mat[x][y] = cell;     // store character in matrix
    }
}
charmat[Lx][Ly];
对于(x=0;x
印刷品

for(x=0; x < Lx; x++)
{
    for (y=0; y < Ly; y++)
        printf("%c\t",mat[x][y]);
        putchar('\n');
    }
}
(x=0;x { 对于(y=0;ymat[Lx][Ly]=x; 其中x是随机函数的其余部分除以2

mat[Lx][Ly]=x;
其中x是for循环中随机函数的剩余部分除以2,只需分配如下元素:

for(x=0;x<Lx;x++)
{
    for(y=0;j<Ly;y++)
    {
    mat[x][y]=rand()%2;
    }
}

for(x=0;x在for循环中,只需分配如下元素:

for(x=0;x<Lx;x++)
{
    for(y=0;j<Ly;y++)
    {
    mat[x][y]=rand()%2;
    }
}

用于(x=0;x谢谢你,我可以看到这是如何工作的,但是当我把它实现到我的程序中时,我现在似乎只得到作为输出的空间,而不是数字。好的,它现在正在正确打印。但是如果我输入不同的网格大小,它会有随机变化,但是如果我多次输入4x4网格,它总是相同的输出。你认为网格的大小是多少需要?假设一个固定的网格大小和固定的种子数,我的代码应该总是给你相同的可复制布局。好的想法是输入网格大小,但网格应该是随机的,这样如果我以相同的网格大小运行程序两次,网格应该是不同的,但它当前输出相同的,我不知道如何改变它,thanks againAh我想我已经解决了,我没有添加单独的种子,我只是添加了srand(time(NULL));在for循环之外,它现在似乎正在工作谢谢,我可以看到它是如何工作的,但是当我将它实现到我的程序中时,我现在似乎只获得作为输出的空间,而不是数字。行,它现在正在正确打印。但是,如果我输入不同的网格大小,它会有一个随机变化,但是如果我输入4x4网格多次,它会发生变化总是相同的输出你需要什么大小的网格?假设一个固定的网格大小和固定的种子数,我的代码应该总是给你相同的可复制布局。好的想法是输入网格大小,但网格应该是随机的,因此如果我以相同的网格大小运行程序两次,网格应该不同,但它输出相同目前,我不知道如何改变它,再次感谢,我想我已经解决了它,我没有添加单独的种子,我只是添加了srand(time(NULL));在for循环之外,它现在似乎正在工作