-1

クラス定義で

 public String[,] Sodoku_Gri = new String [9, 9];

    public void populate_grid_by_file()
    {
        TextReader tr = new StreamReader("data.txt");

        // read a line of text
        String store_data_from_file =  tr.ReadLine();
        for (int i = 0; i < Sodoku_Gri.GetLength(0); i++)
        {
            for (int j = 0; j < Sodoku_Gri.GetLength(1); j++)
            {

                Sodoku_Gri[i, j] = __________??
            }
        }
        tr.Close();
    }

data.txt 内に「1--2--3--3-4-4-5---7-3-4---7--5--3-6--7--」と書かれています-4--3-2--4-5-------3--2-6--7---4---4--3-" ファイルから読み取って、それらをC#の2次元配列に配置してください!C ++で簡単でした。初心者です!C++ では、文字列内のすべての文字にアクセスするために、文字列にもインデックスを作成する必要があります! このデータを 2 次元配列に書き込めますか? Sodoku_Grid[9,9] の 81 個のスペースがファイルからのデータで満たされるように!

4

2 に答える 2

0
  1. あなたはおそらくあなたtr.ReadLine()をあなたの最も内側のループに移動させたいでしょう。
  2. インデクサーを使用して、文字列内の個々の文字にアクセスできます。

    Sodoku_Gri[i,j] = store_data_from_file[j]

したがって、C#でも非常に簡単です。

于 2012-12-07T17:55:40.060 に答える
0

Sodoku_Gri がこのように宣言された 2 次元の char 配列であるとします。

char[,] Sodoku_Gri = new char[9,9];

行に数独ゲームの既知の数字の位置が含まれている場合、文字を修正するためのインデックスはこの方法で計算する必要があります

Sodoku_Gri[i, j] = store_data_from_file[i*9+j];

(ちなみに、その行は無効な数独スキーマになります)

編集: Sodoku_Gri が次のように宣言されている場合、以下のコメントを参照してください。

string[,] Sodoku_Gri = new string[9,9];

次に、インデックス付きの文字に文字列変換を追加する必要があります

Sodoku_Gri[i, j] = store_data_from_file[i*9+j].ToString();
于 2012-12-07T18:05:38.443 に答える