MEJOR SITIO PARA DESARROLLADORES WEB
C Idioma. W3Schools en español. Lecciones para principiantes

Ua En De

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 »