У меня есть 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»?
Задача ещё не решена.
Других решений пока нет …