Menu
Coddy logo textTech

Arreglos multidimensionales

Parte de la sección Fundamentals del Journey de C de Coddy — lección 56 de 63.

Un array multidimensional es un array de arrays. En C, puedes crear un array bidimensional (el array multidimensional más común), esencialmente una tabla con filas y columnas.

Declara un array bidimensional:

int matrix[3][4];

Esto crea un arreglo bidimensional con 3 filas y 4 columnas.

Puedes inicializar un array bidimensional al declararlo:

int matrix[3][4] = {
    {1, 2, 3, 4},    // Primera fila
    {5, 6, 7, 8},    // Segunda fila
    {9, 10, 11, 12}  // Tercera fila
};

Para acceder a los elementos de un array bidimensional, utiliza dos índices:

int value = matrix[1][2];  // Accede a la fila 1, columna 2 (el valor será 7)

Para modificar un elemento en un array 2D:

matrix[0][3] = 100;  // Cambia el elemento en la fila 0, columna 3 a 100

También puedes usar bucles anidados para acceder a todos los elementos de un array bidimensional:

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 4; j++) {
        printf("%d ", matrix[i][j]);
    }
    printf("\n");  // Nueva línea después de cada fila
}
challenge icon

Desafío

Fácil

Crea una función llamada printDiagonal que reciba un arreglo bidimensional cuadrado (donde el número de filas es igual al número de columnas) e imprima los elementos de la diagonal principal (desde la parte superior izquierda hasta la inferior derecha).

La función debe:

  1. Recibir un arreglo de enteros y su tamaño como parámetros.
  2. Imprimir cada elemento de la diagonal principal (donde el índice de fila es igual al índice de columna).
  3. Separar cada elemento con un espacio.

Por ejemplo, dado el arreglo:

1 2 3 4 5 6 7 8 9

La función debe imprimir: 1 5 9

Hoja de referencia

Un array multidimensional es un array de arrays. En C, puedes crear un array 2D con filas y columnas.

Declarar un array 2D:

int matrix[3][4];

Inicializar un array 2D al declarar:

int matrix[3][4] = {
    {1, 2, 3, 4},    // Primera fila
    {5, 6, 7, 8},    // Segunda fila
    {9, 10, 11, 12}  // Tercera fila
};

Acceder a los elementos usando dos índices:

int value = matrix[1][2];  // Accede a la fila 1, columna 2 (el valor será 7)

Modificar un elemento:

matrix[0][3] = 100;  // Cambia el elemento en la fila 0, columna 3 a 100

Usar bucles anidados para acceder a todos los elementos:

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 4; j++) {
        printf("%d ", matrix[i][j]);
    }
    printf("\n");  // Nueva línea después de cada fila
}

Pruébalo tú mismo

#include <stdio.h>

// Función para imprimir los elementos de la diagonal de una matriz cuadrada
void printDiagonal(int matrix[][100], int size) {
    // Escribe tu código aquí
    
}

int main() {
    int size;
    scanf("%d", &size);
    
    int matrix[100][100];
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size; j++) {
            scanf("%d", &matrix[i][j]);
        }
    }
    
    printDiagonal(matrix, size);
    
    return 0;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals