Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/03/2011, 14:42
fingeroso
 
Fecha de Ingreso: marzo-2011
Mensajes: 13
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Uso de matrices con gran cantidad de datos

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4.  
  5.  
  6. int main (void){
  7.  
  8.     int **matriz;
  9.     int nfil, ncol, i, j;
  10.  
  11.     //Pedimos los valores para saber de cuanto será la matriz (nfil)x(ncol)
  12.     printf ("Filas: "); scanf("%d", &nfil);
  13.     fflush(stdin);
  14.     printf ("Columnas: "); scanf("%d", &ncol);
  15.     fflush (stdin);
  16.  
  17.  
  18.     //Reservamos memoria para la matriz
  19.     matriz=malloc(sizeof(int*)*nfil);
  20.  
  21.     for (i=0; i<nfil; i++)
  22.         matriz[i]=malloc(sizeof(int)*ncol);
  23.  
  24.  
  25.  
  26.     //Pedimos valores para los elementos de la matriz
  27.  
  28.     for (i=0;i<nfil;i++){
  29.         for (j=0;j<ncol;j++){
  30.             printf ("Elemento (%d,%d): ", i,j);
  31.             scanf ("%d", &(matriz[i][j]));
  32.             fflush (stdin);
  33.         }
  34.     }
  35.  
  36.  
  37.     //Imprimimos los valores en pantalla
  38.  
  39.     for (i=0;i<nfil;i++){
  40.         for (j=0;j<ncol;j++){
  41.             printf ("Elemento (%d,%d)=(%d) ", i,j, matriz[i][j]);
  42.  
  43.         }
  44.     }
  45.  
  46.     //liberamos la memoria que creamos con malloc
  47.     for (i=0;i<nfil;i++){
  48.         free(matriz[i]);
  49.     }
  50.     free (matriz);
  51.  
  52.     getch();
  53.     return (0);
  54. }

Es algo parecido a esto que he sacado de los apuntes de clase, el problema es que no compila cuando hacemos malloc por que el dice que el tipo definido INT no puede convertirlo a VOID ...y no se realiza correctamente. Su puta madre. El funcionamiento es así, y en vez de pdir que el usuario introduzca los valores para la matriz pues se los defines como constantes. A ver si alguien te puede echar una mano para terminar de solucionarlo.


Te pongo un enlace al archivo con los apuntes sobre el tema para manejar vectores y matrices estaticos y dinamicos.
http://www.megaupload.com/?d=BA31DLX2

Última edición por fingeroso; 19/03/2011 a las 15:01