Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Redimensionar matriz

Estas en el tema de Redimensionar matriz en el foro de C/C++ en Foros del Web. Hola, mi duda es la siguiente. Quiero declarar una matriz tridimensional en un .h, pero aun no se las medidas que va a tener. Me ...
  #1 (permalink)  
Antiguo 03/05/2012, 12:11
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Redimensionar matriz

Hola, mi duda es la siguiente. Quiero declarar una matriz tridimensional en un .h, pero aun no se las medidas que va a tener. Me gustaría saber si hay alguna forma de realizar lo que digo, de llamar a la matriz en el .cpp e inicializarla con los valores correspondientes en un método. Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 03/05/2012, 12:22
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Redimensionar matriz

Si se puede tienes que usar memoria Dinamica. Aprende a usar la fuincion malloc

Código C:
Ver original
  1. int *** definir_m(int x , int y , int z){
  2.     int i,j;
  3.     int ***   m = (int ***) malloc ( x * sizeof(int**) );
  4.     for (i=0; i <  x ; i ++) m[i] = (int **) malloc ( y * sizeof(int*));
  5.     for (i=0; i <  x ; i ++) for (j=0; j <  y ; j ++) m[i][j] = (int *) malloc ( z * sizeof(int));
  6. }
  #3 (permalink)  
Antiguo 03/05/2012, 12:36
 
Fecha de Ingreso: mayo-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: Redimensionar matriz

Muchas gracias sam90. Eso era lo que iba a utilizar, pero ¿como la declaro en la biblioteca?, como lo estaba intentando era de la siguiente forma:

unsigned short *m[][][];

pero al no tener un valor no me deja declarar la matriz. Muchas gracias por tu respuesta.
  #4 (permalink)  
Antiguo 03/05/2012, 14:44
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Redimensionar matriz

Asi:

unsigned short ***m;


En el codigo que te pase cambia el int por el unsigned short.

Saludos

Etiquetas: matriz, redimensionar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:51.