Dominando Arrays Multidimensionales en C++: Declaración, Inicialización y Recorrido
Arrays Multidimensionales en C++
Esta guía te lleva a través de la declaración, inicialización e iteración sobre arrays 2-D y 3-D en C++. Se incluyen muestras de código prácticas y mejores prácticas.
En C++, un array multidimensional es simplemente un array de arrays. Por ejemplo:
int x[3][4];
Aquí, x es un array bidimensional que puede contener 12 elementos. Visualízalo como una tabla con 3 filas y 4 columnas.

Los arrays tridimensionales siguen la misma lógica:
float x[2][4][3];
Con 24 elementos en total, calculados multiplicando las dimensiones: 2 × 4 × 3 = 24.
Inicialización de Array Multidimensional
Como los arrays unidimensionales, los arrays multidimensionales pueden inicializarse de múltiples formas, pero la claridad importa. Las siguientes secciones muestran prácticas recomendadas.
1. Inicialización de Array Bidimensional
int prueba[2][3] = {2, 4, 5, 9, 0, 19};
Aunque sintácticamente correcto, este estilo es difícil de leer. Prefiere un inicializador anidado:
int prueba[2][3] = {{2, 4, 5}, {9, 0, 19}};
Esto hace explícitas las 2 filas y 3 columnas.

2. Inicialización de Array Tridimensional
int prueba[2][3][4] = {3, 4, 2, 3, 0, -3, 9, 11, 23, 12, 23, 2, 13, 4, 56, 3, 5, 9, 3, 5, 5, 1, 4, 9};
De nuevo, la legibilidad sufre. Un enfoque más claro agrupa cada dimensión:
int prueba[2][3][4] = { {{3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2}}, {{13, 4, 56, 3}, {5, 9, 3, 5}, {5, 1, 4, 9}} };
Observa que la primera dimensión contiene dos bloques de 3 filas, cada uno con cuatro columnas.
Ejemplo 1: Array Bidimensional
#include <iostream> using namespace std; int main() { int prueba[3][2] = {{2, -5}, {4, 0}, {9, 1}}; for (int i = 0; i < 3; ++i) { for (int j = 0; j < 2; ++j) { cout << "prueba[" << i << "][" << j << "] = " << prueba[i][j] << endl; } } return 0; }
Salida
prueba[0][0] = 2 prueba[0][1] = -5 prueba[1][0] = 4 prueba[1][1] = 0 prueba[2][0] = 9 prueba[2][1] = 1
Este fragmento demuestra un bucle for anidado que itera primero sobre filas, luego columnas, imprimiendo cada elemento.
Ejemplo 2: Tomando Entrada para un Array Bidimensional
#include <iostream> using namespace std; int main() { int numeros[2][3]; cout << "Ingresa 6 números: " << endl; for (int i = 0; i < 2; ++i) { for (int j = 0; j < 3; ++j) { cin >> numeros[i][j]; } } cout << "Los números son: " << endl; for (int i = 0; i < 2; ++i) { for (int j = 0; j < 3; ++j) { cout << "números[" << i << "][" << j << "]: " << numeros[i][j] << endl; } } return 0; }
Salida
Ingresa 6 números: 1 2 3 4 5 6 Los números son: números[0][0]: 1 números[0][1]: 2 números[0][2]: 3 números[1][0]: 4 números[1][1]: 5 números[1][2]: 6
Aquí, dos bucles anidados recopilan entrada del usuario y luego muestran los valores almacenados.
Ejemplo 3: Array Tridimensional
#include <iostream> using namespace std; int main() { int prueba[2][3][2] = { {{1, 2}, {3, 4}, {5, 6}}, {{7, 8}, {9, 10}, {11, 12}} }; for (int i = 0; i < 2; ++i) { for (int j = 0; j < 3; ++j) { for (int k = 0; k < 2; ++k) { cout << "prueba[" << i << "][" << j << "][" << k << "] = " << prueba[i][j][k] << endl; } } } return 0; }
Salida
prueba[0][0][0] = 1 prueba[0][0][1] = 2 prueba[0][1][0] = 3 prueba[0][1][1] = 4 prueba[0][2][0] = 5 prueba[0][2][1] = 6 prueba[1][0][0] = 7 prueba[1][0][1] = 8 prueba[1][1][0] = 9 prueba[1][1][1] = 10 prueba[1][2][0] = 11 prueba[1][2][1] = 12
Recorrer un array 3-D requiere tres bucles anidados —cada uno correspondiente a una dimensión. Este patrón escala naturalmente a dimensiones superiores, aunque la complejidad crece rápidamente.
Lenguaje C
- Dominando arrays en C#: Declaración, inicialización y operaciones
- Arrays multidimensionales en C#: Arrays 2D explicados con ejemplos de código
- Dominando arrays escalonados en C#: Declaración, inicialización y acceso
- Entendiendo la Conversión de Tipos en C++: Implícita, Explícita y Técnicas de Casting
- Dominando los Operadores en C++: Guía Completa con Ejemplos Prácticos
- Comentarios en C++: Mejores Prácticas para Código Legible y Mantenible
- Cómo Pasar Arrays a Funciones en C++: Guía Práctica
- Arrays en C++: Declaración, inicialización y técnicas con punteros
- Asignación dinámica de arrays en C++: Guía práctica con ejemplos de código
- MATLAB: Dominando Arrays Multidimensionales y Especiales
- Técnicas de Copia de Arrays en Java: Guía Completa