3

5x6 の数値行列を出力するコードを書きましたが、行列内で数値をランダムに (可能であれば間隔内で) 作成する方法を見つけようとしています。行で乱数を取得するのとどの程度似ていますか?

int row[50]
 srand(time(NULL));
 for(i=0;i<50;i++){
  row[i]=rand()%31+10;
  printf("%d ", row[i]);
 }

私は今日、このコードを 10-40 間隔内の 50 個の乱数に使用しました。

4

3 に答える 3

3

for次の 2 つのループを使用できます。

int array[5][6];
srand(time(NULL));
int x, y;
for(x = 0; x < 5; x++) {
    for(y = 0; y < 6; y++) 
        array[x][y] = rand() % 31 + 10;
}
于 2013-07-30T12:51:19.507 に答える
1

マトリックス内のすべての一意の数値を探している場合:

int used[30];
int count=0;

int check_used(int x)
{
int i;
for(i =0; i<count;i++)
    if(used[i] == x)
     return 1;

return 0;
}

int main()
{
    int r,i,j;
    int mat[5][6];

    srand (time(NULL));

    for (i=0;i<5;i++)
        for(j=0;j<6;j++)
        while(1)
        {
            r=rand()  % 31 + 10;
            if(!check_used(r))
            { mat[i][j]  = used[count++] =r;
              break;
            }
        }     
    return 0;
}
于 2013-07-30T13:00:22.277 に答える