Solo tienes que añadir que por cada 'j' defina el valor de la celda; en este caso las 'i' son las filas y las 'j' las columnas:
Código:
int **mat;
int maxx=27, maxy=19;
int ctd = 0;
mat = new int *[maxy];
for(int i = 0; i < maxy; i++) {
mat[i] = new int[maxx];
for(int j = 0; j < maxx; j++) {
mat[i][j] = ctd++;
}
}
He puesto un ejemplo con un contador; los valores de las celdas son los que (si he entendido bien) estan definidos segun unos calculos de un archivo externo.
Para cargar el contenido haras lo mismo: usaras un incremental 'i' entre 0 y 'maxy' para situarte en una fila, y para cada fila un incremental 'j' entre 0 y 'maxx' para situarte en la celda.
Recuerda que para borrar tienes que hacerlo fila por fila: para cada 'i' delete [] mat[i], y al final delete [] mat
Saludos
vosk