Массив указателей на двумерные массивы

У меня есть 5 различных 2d массивов в отличие от обычного использования 2d массивов.

int A[1][2] = {2, 5};
int B[1][2] = {6, 1};
int C[1][2] = {4, 8};
int D[1][2] = {3, 6};
int E[1][2] = {9, 7};

Затем я объявил массив указателей на эти 5 массивов:

typedef int (*PointerToArrays)[2];
static PointerToArrays arr[POPULATION_SIZE] = {A, B, C, D, E};

Теперь я хочу напечатать элементы этих массивов следующим способом:

for(int i=0; i<10; i++) {
for(int j=0; j<2; j++) {
cout << (*arr)[i][j] <<endl;
}
}

Но я получаю следующие результаты:

2
5
4197162
0
6
1
4197245
0
4
8

Вы можете видеть, что 1-й и 2-й элементы в порядке, а следующие два — мусор. Тогда следующие два в порядке, а следующие два мусора и так далее …

Что я делаю неправильно? Как распечатать значения A, B, C, D и E соответственно, используя цикл «for»?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]