Arrays multidimensionales
Parte de la sección Fundamentos 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 2D (el array multidimensional más común), esencialmente una tabla con filas y columnas.
Declara una matriz 2D:
int matrix[3][4];Esto crea un arreglo bidimensional con 3 filas y 4 columnas.
Puedes inicializar un arreglo 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 una matriz 2D, usa dos índices:
int value = matrix[1][2]; // Accede a la fila 1, columna 2 (el valor será 7)Para modificar un elemento en un arreglo 2D:
matrix[0][3] = 100; // Cambia el elemento en la fila 0, columna 3 a 100También puedes usar bucles anidados para acceder a todos los elementos de un arreglo 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
}Desafío
FácilCrea una función llamada printDiagonal que reciba una matriz cuadrada bidimensional (donde el número de filas es igual al número de columnas) e imprima los elementos de la diagonal principal (de arriba a la izquierda a abajo a la derecha).
La función debe:
- Recibir como parámetros una matriz de enteros y su tamaño.
- Imprimir cada elemento de la diagonal principal (donde el índice de la fila es igual al índice de la columna).
- Separar cada elemento con un espacio.
Por ejemplo, dada la matriz:
1 2 3 4 5 6 7 8 9
La función debe imprimir: 1 5 9
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;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
2Variables
Tipos de datosEnteroFloat - DoubleCaracteresBooleanosConstantesConceptos básicos de printfReglas para nombrar variablesConversión de tipos, parte 1Conversión de tipos, parte 2Desafío de repaso3Operadores
Operadores aritméticosOperador móduloIncremento/DecrementoOperadores de asignaciónOperadores relacionalesOperadores lógicos Parte 1Operadores lógicos Parte 2Operadores lógicos Parte 3Desafío de repasoPractica por tu cuenta: Compilador de C online