0

次のような2D配列があります。

        // construct initial **array
        int **arr;
        arr = new int* [SIZE];
        for (int i = 0; i < SIZE; i++) {
            arr[i] = new int[SIZE];
        }

次に、配列に cin からの入力を入力していますが、問題なく動作しています。しかし、double for ループの反復によって配列内の値にアクセスしようとすると、正しくない値が取得されます。

次のような値を追加しているので、値を出力しました。

"Adding <int> to array position <row><col>"

たとえば、 ints を保存しています{{1,2,3}, {4,5,6}, {7,8,0}}が、それらにアクセスすると、値が取得されます{{49,50,51}, {52,53,54}, {55,56,48}}

些細なことだと思いますが、どこを見ればいいのかわかりません。

4

2 に答える 2

4

数値ではなく数値のASCII値を格納しているようです。たとえば、文字の1ASCII 値は 49 です。入力の読み取りに使用している変数が数値型であり、 ではないことを確認してくださいchar

于 2011-10-25T21:54:53.830 に答える