私は、2次元配列の形で初期データマップを取得する金探査プログラムを作成しようとしています。それ。平均を計算すると "System.IndexOutOfRangeException"例外が発生する
しかし、探査のポイントをマークするかどうかを判断する平均を計算すると、私は "System.IndexOutOfRangeException"例外が発生し、プログラムが中断します。これを修正するにはどうすればいいですか?事前に助けていただきありがとうございます。
for (int i = 1; i < nRows; i++)
{
for (int j = 1; j < nCols - 1; j++)
{
//it is at the line below where the program breaks
double average = (data[i - 1, j] + data[i + 1, j] + data[i, j - 1] + data[i, j + 1])/4;
if (data[i, j] > average)
{
map[i, j] = "*";
}
}
}
タグCがこの質問に適していますか? Cは例外を持っていません –
ええ、それはアメリカのキーボードに慣れているので、私は入力キーを押したので、私はハッシュキーを打つと思っていた。 – CuriousLekgolo
外側のループの終わりにある 'i == nRows - 1'のとき、' data [i + 1、j] 'はおそらく範囲外です。 – deamentiaemundi