0

以前、ループを使用して配列内で一意の乱数を生成するで、非常に複雑な質問をしました。

しかし、まだすべての概念を理解することはできず、不明な点が多すぎることがわかったので、段階的に学習することにしました。

だから今、私は乱数を持つ配列を使用して5x5ボードを作成しようとしています..ここに私のコードがあります:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    //Declare the board size and other variables//

    //Create the random number generator seed

    //Loop to create the wanted board size

    //Plant the random numbers into the board within the loop

    int main()

    {
    //Initialize Variables
    int randomNumber;
    int rows;
    int columns;

    //Declare board size. Size of board is 5 x 5
    int board[5][5]; 

    //Create the random number generator seed
    srand(time(NULL));

    //Assign the random numbers from 1 - 25 into variable randomNumber
    randomNumber = rand() %25 + 1;

    //Create the rows for the board
        for ( rows = 1; rows <= 5 ; rows++ )
        {
            //Create the columns for the board
            for ( columns = 1; columns <= 5 ;  columns++ )
             {
             //Assign variable randomNumber into variable board
             board[randomNumber][randomNumber];
        }
            //Newline after the end of 5th column.
            printf("\n");
    }

    //Print the board
    printf("%d\t", board[randomNumber][randomNumber]);

}//end main

最後の部分board[randomNumber][randomNumber];は、私が本当に混乱したと思うところです。どうすればいいのか本当にわかりません。

私は乱数をボードに割り当てようとしていますが、それはひどく間違っていました。

ポインタはありますか?

4

1 に答える 1

0

このようなことを試してください:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//Declare the board size and other variables//

//Create the random number generator seed

//Loop to create the wanted board size

//Plant the random numbers into the board within the loop

int main()

{
//Initialize Variables
int randomNumber;
int rows;
int columns;

//Declare board size. size of board is 5 x 5
int board[5][5]; 

//Create the random number generator seed
srand(time(NULL));

//Assign the random numbers from 1 - 25 into variable randomNumber

//Create the rows for the board
    for ( rows = 0; rows < 5 ; row++ )
    {
        //Create the columns for the board
        for ( columns = 0; columns < 5 ;  columns++ )
         {
         //Assign variable randomNumber into variable board
         randomNumber = rand() %25 + 1;

         board[rows][columns] = randomNumber;
         printf("%d\t", board[rows][columns]);

    }
        //Newline after the end of 5th column.
        printf("\n");
}

}//end main

=オペレーターを使用して、生成された番号をボードに割り当てる必要があります。あなたがしたことは、1〜25の範囲でランダムな行と列をプライティングすることです-したがって、ほとんどの場合、ここで例外が発生する可能性があり、それが機能した場合、配列は満たされていないため、デフォルトで値があります(配列としてメソッド内で定義されており、そこにはいくつかのランダムな値がありますが、値を入力するまでそこに何があるかはわかりません)

于 2013-10-21T10:52:00.687 に答える