[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