Programación General => C/C++ => Mensaje iniciado por: drazik en Miércoles 14 de Abril de 2004, 19:56
Título: Matrices
Publicado por: drazik en Miércoles 14 de Abril de 2004, 19:56
Hola, necesito saber como se declaran y se reserva memoria dinamicamente para matrices de N filas por M columnas, introducidas por teclado, a ser posible que queden en direcciones consecutivas de memoria. Las funciones malloc y calloc no las domino muy bien si me podrian ayudar se lo agradeceria. :)
Título: Re: Matrices
Publicado por: Ruben3d en Miércoles 14 de Abril de 2004, 20:08
Hola.
Para declarar matrices del tipo tipo has de hacerlo así:
Código: Text
int N = 10; // Altura
int M = 15; // Anchura
tipo *matriz = (tipo*) malloc(N*M*sizeof(tipo));
Luego, para direccionar un elemento en posición i,j se hace así (teniendo en cuenta que i se desplaza en vertical y j en horizontal):
Código: Text
matriz[j+i*M]
Un saludo.
Ruben3d
Título: Re: Matrices
Publicado por: JuanK en Miércoles 14 de Abril de 2004, 20:11
bueno Ruben asi creas un vector no una matriz...
Título: Re: Matrices
Publicado por: Ruben3d en Miércoles 14 de Abril de 2004, 20:19
Cita de: "drazik"
a ser posible que queden en direcciones consecutivas de memoria
Citar
asi creas un vector no una matriz...
Cierto, pero se comporta como una matriz y cumple el requisito que he citado más arriba. Además, es más sencillo de entender para alguien que está empezando que hacer un vector de punteros a vectores para crear la matriz.
Un saludo.
Ruben3d
Título: Re: Matrices
Publicado por: JuanK en Miércoles 14 de Abril de 2004, 20:24
umm cierto es :P... sorry :whistling:
Título: Re: Matrices
Publicado por: drazik en Jueves 15 de Abril de 2004, 11:05
Muchas gracias a ambos, por la ayuda. Ya lo probare a ver que tal. B)