-2

nums を呼び出す配列があり、int var が含まれています。配列は2次元です -

int[,] nums = new int[lines, row];

配列の各行を他の行に出力する必要があります。

次のように配列に出力しようとすると:

 for (int i = 0; i < lines; i++)
            for (int j = 0; j < 46; j++)
                Console.Write(nums[i,j]);

**上記の構文を使用すると、ビジュアルスタジオでエラーが発生しませんが、プログラムを実行すると、この行でエラーが発生しました - Console.Write(nums[i,j]);.

エラー - system.IndeOutOfRangeException.

エラーが発生しました。構文を次のように変更してみます。

 for (int i = 0; i < lines; i++)
            for (int j = 0; j < 46; j++)
                Console.Write(nums[i][j]);

エラー:「[] 内のインデックスの数が間違っています。2 が必要です」

と:

 for (int i = 0; i < lines; i++)
            for (int j = 0; j < 46; j++)
                Console.Write(nums[i][j].tostring());

アップデート

私はとても愚かです...私は6(各行の数字)の代わりに46(私のプログラムの数字)を書いています。

ty for all、そして私はそのような悪い問題で質問を開くのは難しいです...

ティ!

4

2 に答える 2

1

が正の整数値の場合、たとえば、次int lines = 5; int row = 7;のようにテーブルを印刷できます。

  int[,] nums = new int[lines, row]; // <- Multidimensional (2 in this case) array, not an array of array which is nums[][]

  //TODO: fill nums with values, otherwise nums will be all zeros

  for (int i = 0; i < lines; i++) {
    Console.WriteLine(); // <- let's start each array's line with a new line

    for (int j = 0; j < row; j++) { // <- What the magic number "46" is? "row" should be here... 
      Console.Write(nums[i, j]); // <- nums[i, j].ToString() doesn't spoil the output

      if (j > 0) // <- let's separate values by spaces "1 2 3 4" instead of "1234"
        Console.Write(" ");
    }
  }
于 2013-08-20T10:16:23.120 に答える