0

以下はcコーダーにとっては確かに非常に単純に見えますが、私は五目並べと呼ばれるゲームをモデル化するための小さなプログラムをコーディングしています。ユーザーの場合、「N×N」の整数で構成される「N×N」の正方形に対応する整数Nを入力する必要があります。

したがって、コードは非常にうまく実行されていますが、簡単な質問があります。「N×N」の整数を入力すると、いくつか作成しました。

    int N;
    scanf("%d",&N);
    char c[N][N];
    while (i<N){
        scanf("%s\n",&c[i]); 
        i++;
    }

次に、charをintに変換して、c[i]を含む計算を行いc[i][j]ました。これは非常に不自然です。しかし、intを宣言する必要がある場合、whileループの実行中に入力したものとc[N][N]同じ整数を取得することは不可能です。c[i][j]

整数を使用して計算するときに、 intを宣言しc[N][N]、整数を入力して、同じように計算するというアイデアを持っている人はいますc[i][j]か?

最高、ニューベン

4

1 に答える 1

1

charを読み取ってからintに変換する必要はありません。あなたは単に整数を読むことができます:

for(int i = 0; i < N; ++i)
    scanf("%d", &c[i]);       //of course c has to be int** type

そして、N個の整数だけを読みたいと思いますか?アレイ全体のNNではありませんか?N N個のオブジェクトを配列に読み取る場合、コードは次のようになります。

int N, i, j;
scanf("%d",&N);
int c[N][N];

for(i = 0; i < N; ++i)
{
    for(j = 0; j < N; ++j)
    {
        scanf("%d", &c[i][j]);
        /* do something */
    }
}
于 2012-07-05T20:35:37.147 に答える