Итак, я работаю над кодированием проблемы дискретного разбиения. Я храню мой объект называется polyomino как так:Как хранить симметрии Polyomino с помощью указателей на указатели?
pointer = new int*[h];
p_0 = new int*[h];
p_1 = new int*[h];
p_2 = new int*[w];
p_3 = new int*[w];
p_4 = new int*[w];
p_5 = new int*[h];
p_6 = new int*[w];
for (i=0 ; i < h ; i++)
pointer[i] = new int[w];
p_0[i] = new int[w];
p_1[i] = new int[w];
p_5[i]=new int[w];
}
for(i=0 ; i < w ; i++){
p_2[i]=new int[h];
p_3[i]=new int[h];
p_4[i]=new int[h];
p_6[i]=new int[h];
}
for (i=0; i<h ; i++){
for(j=0; j<w ; j++){
cout << "What is the " << i+1;
cout << ", " << j+1;
cout << endl;
cin >> k;
if(k != 0)
pointer[i][j]=1;
else
pointer[i][j]=0;
}
}
Тогда я генерируя все 8 возможных ориентаций (group of symmetries площади) и хранить их в 7 других двойных указателей. Мне было интересно, есть ли способ сделать массив размером 8, который содержит адрес для каждого из моих двойных указателей.
Если бы я мог это сделать, это облегчило бы мою жизнь, когда мы проверили бы, чтобы доска была разбита на пустые места, а затем поместила их. Я хотел бы что-то вроде:
orientation[8];
orientation[0]=pointer;
orientation[1]=p_0;
orientation[2]=p_1;
orientation[3]=p_2;
orientation[4]=p_3;
и так далее. Проблема в том, что существуют два разных размера; один из которых hxw, а другой - wxh. Мое первое, хотя я должен был сделать что-то вроде:
int** orientation;
orientation = new int*[8]
for(i=0;i<8<;i++)
orientation[i]=new int*[h*w];
Спасибо за кучу заранее.
Я по существу хочу сделать все мои ориентации прямо смежными друг с другом в памяти. – mikeysaxton
Я не понимаю, что вы сейчас делаете, и что облегчит вашу жизнь. Может быть, напишите больше кода или перефразируйте вопрос? – cnicutar
Я имею в виду указатели на указатели. Я хочу иметь удобный способ доступа к восьми восьмимерным матрицам (где я уже сгенерирован и сохранен в памяти. Я не включил эту часть кода, если понадобится). Проблема, с которой я сталкиваюсь, состоит в том, что мои 4 из моих матриц hxw и 4 wxh. Мне нравится примерно Ориентация: [8] – mikeysaxton