Después de consultar con expertos en esta materia, programadores de diversas ramas y profesores dimos con la solución a la pregunta y la plasmamos en este post.
Solución:
const int someheight = 3;
const int somewidth = 5;
int (*array)[somewidth] = new int[someheight][somewidth];
Acabo de encontrar que esta respuesta antigua todavía se lee, lo cual es una pena, ya que está mal. Mire la respuesta a continuación con todos los votos en su lugar.
Lea sobre la sintaxis del puntero, necesita un array de matrices. Que es lo mismo que un puntero a un puntero.
int width = 5;
int height = 5;
int** arr = new int*[width];
for(int i = 0; i < width; ++i)
arr[i] = new int[height];
Un ejemplo listo para usar de aquí, después de unos segundos de googlear con la frase "dinámica bidimensional array":
int **dynamicArray = 0;
// memory allocated for elements of rows.
dynamicArray = new int *[ROWS];
// memory allocated for elements of each column.
for( int i = 0 ; i < ROWS ; i++ )
dynamicArray[i] = new int[COLUMNS];
// free the allocated memory
for( int i = 0 ; i < ROWS ; i++ )
delete [] dynamicArray[i];
delete [] dynamicArray;
valoraciones y reseñas
Tienes la opción de añadir valor a nuestro contenido informacional colaborando tu experiencia en las explicaciones.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)