Неправильный доступ к значениям в двумерном массиве - PullRequest
0 голосов
/ 26 октября 2011

У меня есть 2D-массив, такой как:

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

Затем я заполняю массив вводом из cin, и это работает нормально.Тем не менее, когда я иду, чтобы получить доступ к значениям в массиве double для итерации цикла, я получаю неправильные значения.

Я распечатал значения, так как я добавляю их во что-то вроде:

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

Например, я храню целые числа {{1,2,3}, {4,5,6}, {7,8,0}}, но когда я иду к ним,Я получаю значения {{49,50,51}, {52,53,54}, {55,56,48}}.

У меня такое ощущение, что это что-то тривиальное, я просто не знаю, где искать.

Ответы [ 2 ]

4 голосов
/ 26 октября 2011

Похоже, что вы сохраняете ASCII значения чисел, а не их числовые значения, например, символ 1 имеет значение ASCII 49. Убедитесь, что переменная, которую вы используете для чтения ввода,числовой тип, а не char.

1 голос
/ 26 октября 2011

Мне кажется, что вы получаете значения символов ASCII - т.е. 49 - это 1, 50 - это 2 и т. Д.

...