/* creacion dinamica de un arreglo bidimensional. Se requiere que inicialmente se decalaren 3 variables: dos enteras para las dimensiones y otra puntero doble. La variable puntero doble se debe inicializar dinamicamente para asignarle las direcciones a las filas a apuntar. Se requiere unaa variable puntero simple como auxiliar de uso transitorio para recibir la direccion de la memoria asignada y permitir la inicializacion de de la variable puntero doble. Se debe notar que la variable puntero doble (**variable) es tambien un arreglo de punteros a punteros, por lo tanto se puede referir a ella usando doble indice: variable[i][j]. Notese que al llamar a la funcion se pasa como **variable y dentro de la funcion se usa: variable[i][j]. Este es un pasaje por referencia a la funcion. */ #include #include void impr(double **,int , int ); int n; int m; double **p; main(){ int i,j; double *x; printf("Ingrese N y M de NxM: "); scanf("%d %d",&n,&m); //crea arreglo de punteros y arreglo de datos p=(void *)realloc(p,n*sizeof(double **)); x=(double *)calloc(m*sizeof(double),m*sizeof(double)); for(i=0;i