No explicaré qué se hace en cada paso, sólo le mostrare el código que tengo, y ustedes se encargarán de analizarlo y modificarlo a su conveniencias. Bueno el código es el siguiente.
#include <stdio.h> #include <stdlib.h> void llenarMatriz(int ** mat, int filas, int columnas); void imprimirMatriz(int ** mat, int filas, int columnas); void crearMatrizDinamica(int ** mat, int filas, int columnas); void liberarMemoria(int ** array, int nrows); int main(void){ int nrows,ncols; int** array; // Define the size of the array at run time printf("Ingrese el numero de filas y colunmas: "); scanf("%d %d",&nrows,&ncols); array=(int**)malloc(nrows*sizeof(int*)); crearMatrizDinamica(array,nrows,ncols); llenarMatriz(array,nrows,ncols); imprimirMatriz(array,nrows,ncols); liberarMemoria(array,nrows); return 0; } void liberarMemoria(int ** array, int nrows){ int i; for (i=0; i<nrows; i++){ free((void*)array[i]); } free((void*)array); } void crearMatrizDinamica(int ** mat, int filas, int columnas){ int i; for (i=0; i<filas; i++) mat[i]=(int*)malloc(columnas*sizeof(int)); } void llenarMatriz(int ** mat, int filas, int columnas){ int i,j; for(i=0;i<filas;i++){ for(j=0;j<columnas;j++){ mat[i][j]=i+1+j; } } } void imprimirMatriz(int ** mat, int filas, int columnas){ int i,j; for(i=0;i<filas;i++){ for(j=0;j<columnas;j++){ printf("-%d-",mat[i][j]); } printf("\n"); } }
0 comments:
Publicar un comentario