Matrices en programacion

Representando matrices con un doble apuntador

De LIDSOL

Saltar a navegación, búsqueda
Una matriz es un arreglo de elementos comunes ordenados en renglones y columnas.
En C como en otroslenguajes, se cuenta con los arreglos (arrays) que permiten representar vectores, matrices y otros elementos.
Habitualmente un arreglo puede ser multidimensional (ser de una, dos o más dimensiones),aunque habitualmente no se ocupan arreglos de más de 7 dimensiones.
Un arreglo que represente a una matriz, puede ser uno de dos dimensiones; lo que permite trabajar en renglones o columnas. Por ejemplo:1. // Arreglo de dos dimensiones de 3 renglones x 4 columnas
2. int matriz[3][2];
3. int variable;
4. …
5. // Se hacen operaciones
6. …
7. variable=matriz[2][0];// Se guarda en variable, el elemento de la matriz 3,1
Como se observa, en los paréntesis cuadrados se colocan los índices del elemento que se desea recuperar.
Lo que hace el programa con losarreglos en el momento de colocarlos en memoria, es situar los renglones seguidos, uno después del otro.
Por ejemplo el arreglo matriz se puede ver de la siguiente manera:—+—–+—–+—–+—–+—–+—–+—
…| 0,0 | 0,1 | 1,0 | 1,1 | 2,0 | 2,1 |…
—+—–+—–+—–+—–+—–+—–+—
En ocaciones no se conoce el tamaño del arreglo antes de ejecutar el programa, por lo queresulta conveniente que el arreglo se dimensione en tiempo de ejecución; lo cual se logra sustituyendo el arreglo por un apuntador.
Un apuntador es suficiente para representar una matriz (dado que loselementos son contiguos), siempre y cuando se disponga de operaciones para obtener el elemento adecuado a partir de sus indices.
El uso de doble apuntador, permite manejarlo de igua forma que si fuera unarreglo bidimensional, con la diferencia que los elementos no tienen porque ser contiguos.

Usando un doble apuntador para representar matrices

El código es el siguiente:
1. #include…