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

Duda sobre el uso de matrices dinámicas en C

Estas en el tema de Duda sobre el uso de matrices dinámicas en C en el foro de C/C++ en Foros del Web. Tengo 2 códigos sobre Matrices dinámicas, el problema es que no se cual usar alguien me podría explicar la diferencia y las funciones que cumplen? ...
  #1 (permalink)  
Antiguo 02/12/2011, 09:48
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 13 años, 5 meses
Puntos: 15
Duda sobre el uso de matrices dinámicas en C

Tengo 2 códigos sobre Matrices dinámicas, el problema es que no se cual usar alguien me podría explicar la diferencia y las funciones que cumplen?

Código:
int **matriz;
int i, int filas_dinamicas, int columnas_dinamicas;
matriz = (int**) malloc(filas_dinamicas*sizeof(int));
    for(i=0;i<filas_dinamicas;i++)
    {
      matriz = (int**)malloc(columnas_dinamicas*sizeof(int));
    }
matriz[1][1]=1;
Código:
int *matriz;
int i, int filas_dinamicas, int columnas_dinamicas;
matriz = malloc(filas_dinamicas*sizeof(int));
    for(i=0;i<filas_dinamicas;i++)
    {
      matriz = malloc(columnas_dinamicas*sizeof(int));
    }
matriz[1][1]=1;
  #2 (permalink)  
Antiguo 02/12/2011, 10:57
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Duda sobre el uso de matrices dinámicas en C

Los dos estan mal amigos. El prmero esta un poco mejor.

Código C:
Ver original
  1. int **matriz;
  2. int i, int filas_dinamicas, int columnas_dinamicas;
  3. matriz = (int**) malloc(filas_dinamicas*sizeof(* int));
  4.     for(i=0;i<filas_dinamicas;i++)
  5.     {
  6.       matriz[i] = (int*)malloc(columnas_dinamicas*sizeof(int));
  7.     }
  8.  
  9. matriz[0][0]=1;
  #3 (permalink)  
Antiguo 02/12/2011, 11:05
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 13 años, 5 meses
Puntos: 15
Respuesta: Duda sobre el uso de matrices dinámicas en C

Pero por que se usa doble puntero a matriz?? es por ser una matriz de 2 dimensiones?
  #4 (permalink)  
Antiguo 02/12/2011, 11:22
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 13 años
Puntos: 0
Respuesta: Duda sobre el uso de matrices dinámicas en C

Los dos punteros es como decir que es un vector de vectores.
En general para un vector un *, para una matriz **.
En caso de la matriz debes inicializar tanto el primer vector (línea 3 del codigo que te han pasado), como los vectores que introduces en el primer vector (las otras líneas).
  #5 (permalink)  
Antiguo 02/12/2011, 11:37
 
Fecha de Ingreso: junio-2011
Mensajes: 289
Antigüedad: 13 años, 5 meses
Puntos: 15
Respuesta: Duda sobre el uso de matrices dinámicas en C

aaaaa ya entendi...

es que todo lo que busque en internet hacían el método de orden mayor, transformaban la matriz en 1 solo arreglo, y eso no me servia, lo que buscaba era un arreglo dinámico dentro de otro, y esto es lo que necesitaba :P


Muchas gracias por el código y las explicaciones

Etiquetas: funcion, matrices
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 12:52.