Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: _el_aprendiz_ en 24 Marzo 2013, 18:30 PM

Título: Como Crear una Matriz 2D de Structura
Publicado por: _el_aprendiz_ en 24 Marzo 2013, 18:30 PM
Hola:

Estoy intentando crear de manera dinamica una matriz que contiene una structura llamada Point (la cual contiene dos enteros, x e y). El programa me compila, pero lanza un error de ejecucion por no tener inicializada la variable.

En mi programa necesito:
1) que Point sea una structura y no una clase.
2) que defina la matriz antes de saber la dimensiones que tendra.

He intentado varias forma, pero no me resulta. El concepto no lo tengo claro.
Me puedes ayudar por favor?. Muchas Gracias.




struct Point{
   int x,y;
};

int main(){
   Point** matriz;

//Valores obtenidos de otro lado, despues de tener definida la matriz de Puntos.
   int rowNumber=10;
   int colNumber=20;

   *matriz=new Point[rowNumber];  // En este punto lanza el error de ejecucion

   for(int i=0;i<rowNumber;i++)
      matriz=new Point[colNumber];

return -1;
}

Título: Re: Como Crear una Matriz 2D de Structura
Publicado por: avesudra en 24 Marzo 2013, 19:42 PM
Hola _el_aprendiz_ el error es lógico ya que lo primero que debes hacer es crear espacio para un puntero de tipo Point:
Código (cpp) [Seleccionar]
int rowNumber=10;
int colNumber=20;

  matriz=new Point*[rowNumber];  // En este punto lanza el error de ejecucion

  for(int i=0;i<rowNumber;i++)
     matriz[i] = new Point[colNumber];
Título: Re: Como Crear una Matriz 2D de Structura
Publicado por: _el_aprendiz_ en 25 Marzo 2013, 18:40 PM
Muchas Gracias avesudra, ha funcionado!!!! ahora voy a estudiar y jugar con lo que me has enseniado. Gracias