0

少し問題があります。ユーザーに数独グリッドの数字を入力してから、それらを 2 次元配列に格納するように求めるプログラムを作成しています。配列を印刷して数独グリッドを表示する方法は知っていますが、配列要素をユーザーが入力した数字に設定するのに問題があります。誰か助けてもらえますか?

これが私が持っているすべてであり、それほど多くはないことはわかっていますが、これまでに1次元配列でしかこれを行ったことがありません。

コード:

#include <iostream>

using namespace std;

void fillGrid1(int grid1, int sizeOfArray) {
    for(int x = 0; x < sizeOfArray; x++) {
        grid1[x][9] = x;
    }
}

int main()
{
    int grid1[9][9];
    fillGrid1(grid1, 9);

    for(int row = 0; row < 9; row++) {
        for(int column = 0; column < 9; column++) {
            cout << grid1[row][column] << " ";
        }

        cout << endl;
    }
}
4

2 に答える 2

0

まず、配列が必要な場所に int を取り込んでいます。

void fillGrid1(int grid1, int sizeOfArray)
//             ^^^^^^^^^

これは、次のような形式である必要があります。

void fillGrid1(int grid1[9][9], int sizeOfArray)

次に、ネストされたループを使用して多次元配列の要素にアクセスする必要があります。

void fillGrid1(int grid1[9][9], int sizeOfArray)
{
    for (int i = 0; i < sizeOfArray; ++i)
    {
        for (int k = 0; k < sizeOfArray; ++k)
        {
            grid1[i][k] = x; // shouldn't x be the number the user entered?
        }
    }
}

また、配列をゼロで埋める必要があります。

int grid1[9][9] = {0};
于 2013-04-07T20:16:52.907 に答える