[C con Clase] Matriz Bidimensional Dinamica

Ali Rincon alrincon1963 en hotmail.com
Lun Oct 29 01:14:20 CET 2012


Caramba hermano, tiene Ud. toda la razón. Con las correciones que Ud. hizo el programa corre hermosamente. Mis respetos. Pero, permitame hacerle una pregunta: Este programa servirá para una matriz de 3268760x15, es decir, 25 elementos tomados de 15 en 15, que es realmente a donde quiero llegar??

Le expreso todo mi agradecimiento por su amable ayuda,

Ali Rincon
Venezuela

SP> Hola, Ali:
SP> Hay dos errores, el número de combinaciones de 25 elementos tomados de 6 en 6 es 177100, no 177000. El programa deja de funcionar cuando se llega al elemento del array 177001.
SP> El otro error es que en el bucle para reservar memoria para cada fila usas el valor nC en lugar de nF.
SP> Además, en previsión de un error al reservar memoria (y más en arrays dinámicos tan grandes), hay que hacer una verificación de errores:
SP> ----8<------
SP>     mat = malloc(nF * sizeof(int *));
SP>     if(!mat) {
SP>         printf("Error de memoria\n");
SP>         return 1;
SP>     }
SP>     for(f = 0; f < nF; f++) {
SP>         //mat[f] = (int *)malloc(nC * sizeof(int));
SP>         mat[f] = malloc(nC * sizeof(int));
SP>         if(!mat[f]) {
SP>             printf("Error de memoria\n");
SP>             for(c = 0; c < f; c++) free(mat[c]);
SP>             free(mat);
SP>             return 1;
SP>         }
SP>     }
SP> ---8<------
SP> Hasta pronto.
SP> -- 
SP> Salvador Pozo (Administrador)
SP> mailto:salvador en conclase.net
SP> _______________________________________________
SP> Lista de correo Cconclase Cconclase en listas.conclase.net
SP> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
SP> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ


Más información sobre la lista de distribución Cconclase