C Matrices multidimensionales
Matrices multidimensionales
En el capítulo anterior, aprendiste sobre las matrices, que también se conocen como matrices de una sola dimensión. Estos son geniales y son algo que usará mucho mientras programa en C. Sin embargo, si desea almacenar datos en forma tabular, como una tabla con filas y columnas, debe familiarizarse con las matrices multidimensionales.
Una matriz multidimensional es básicamente una matriz de matrices.
Las matrices pueden tener cualquier cantidad de dimensiones. En este capítulo, presentaremos los más comunes; matrices bidimensionales (2D).
Matrices bidimensionales
Una matriz 2D también se conoce como matriz (una tabla de filas y columnas).
Para crear una matriz 2D de números enteros, observe el siguiente ejemplo:
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
La primera dimensión representa el número de filas [2], mientras que la segunda dimensión representa el número de columnas [3]. Los valores se colocan en orden de filas y se pueden visualizar así:
COLUMNA 0 | COLUMNA 1 | COLUMNA 2 | |
---|---|---|---|
FILA 0 | 1 | 4 | 2 |
FILA 1 | 3 | 6 | 8 |
Acceder a los elementos de una matriz 2D
Para acceder a un elemento de una matriz bidimensional, debe especificar el número de índice tanto de la fila como de la columna.
Esta declaración accede al valor del elemento en la primera fila (0) y la tercera columna (2) de la matriz.
Ejemplo
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
printf("%d", matrix[0][2]); // Salidas 2
Inténtalo tú mismo »
Recuerde que: Los índices de matriz comienzan con 0: [0] es el primer elemento. [1] es el segundo elemento, etc.
Cambiar elementos en una matriz 2D
Para cambiar el valor de un elemento, consulte el número de índice del elemento en cada una de las dimensiones:
El siguiente ejemplo cambiará el valor del elemento en la primera fila (0) y la primera columna (0):
Ejemplo
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
matrix[0][0] = 9;
printf("%d", matrix[0][0]); // Ahora genera 9 en lugar de 1
Inténtalo tú mismo »
Recorrer una matriz 2D
Para recorrer una matriz multidimensional, necesita un bucle para cada una de las dimensiones de la matriz.
El siguiente ejemplo genera todos los elementos de la matriz matrix:
Ejemplo
int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
int i, j;
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%d\n", matrix[i][j]);
}
}
Inténtalo tú mismo »