Un array bi­di­me­n­sio­nal en C++ se utiliza para organizar los datos en forma de tabla. En áreas ma­te­má­ti­cas, es­pe­cia­l­me­n­te en álgebra lineal, los arrays bi­di­me­n­sio­na­les ofrecen una es­tru­c­tu­ra óptima para la vi­sua­li­za­ción de matrices.

¿Qué es exac­ta­me­n­te un 2D array in C++?

Un array bi­di­me­n­sio­nal en C++ es una es­tru­c­tu­ra de datos para almacenar elementos en una di­s­po­si­ción bi­di­me­n­sio­nal similar a una tabla. A di­fe­re­n­cia de los arrays uni­di­me­n­sio­na­les, que solo contienen una serie de elementos, un array bi­di­me­n­sio­nal organiza los datos en filas y columnas. Los elementos de un array bi­di­me­n­sio­nal se definen por sus po­si­cio­nes, que se es­pe­ci­fi­can mediante índices de fila y columna. Esta es­tru­c­tu­ra facilita el acceso y la ma­ni­pu­la­ción de puntos de datos in­di­vi­dua­les. Los arrays bi­di­me­n­sio­na­les tienen múltiples apli­ca­cio­nes, desde el cálculo ma­te­má­ti­co con matrices hasta la gestión de datos en formato raster.

Así se es­tru­c­tu­ra un array bi­di­me­n­sio­nal en C++

En C++, la sintaxis para la de­cla­ra­ción de un array bi­di­me­n­sio­nal consta de los si­guie­n­tes elementos:

data_type arrayName[num_rows][num_cols];
c++
  • data_type: El tipo de dato es­pe­ci­fi­ca qué tipo de datos se deben almacenar en las celdas del array bi­di­me­n­sio­nal. Esto puede ser, por ejemplo, int para números enteros, double para números de punto flotante o incluso tipos de datos pe­r­so­na­li­za­dos.
  • arrayName: El nombre actúa como ide­n­ti­fi­ca­dor mediante el cual se puede acceder a todo el array.
  • num_rows: Este fragmento de la sintaxis indica cuántas filas debe tener el array bi­di­me­n­sio­nal.
  • num_cols: Aquí se es­pe­ci­fi­ca la cantidad de columnas para cada fila en el array bi­di­me­n­sio­nal.

En el siguiente ejemplo, definimos un array bi­di­me­n­sio­nal llamado matrix con 2 filas y 4 columnas, lo que equivale a un total de 12 elementos.

int matrix[3][4] = {{1, 2, 3, 4}, 
    {5, 6, 7, 8}, 
    {9, 10, 11, 12}};
c++

Crear un array bi­di­me­n­sio­nal en C++

Podemos crear un array bi­di­me­n­sio­nal uti­li­za­n­do un bucle for. El bucle externo itera sobre las filas, mientras que el bucle interno recorre las columnas de cada fila. La in­s­tru­c­ción std::cout << matrix[i][j] << " "; muestra cada elemento. Después de cada fila, generamos una nueva línea con std::cout << std::endl; para formatear mejor el resultado.

#include <iostream> 
 
int main() { 
 
    int matrix[3][4] = {{1, 2, 3, 4}, 
                        {5, 6, 7, 8}, 
                        {9, 10, 11, 12}}; 
 
    for (int i = 0; i < 3; ++i) { 
 
        for (int j = 0; j < 4; ++j) { 
            std::cout << matrix[i][j] << " "; 
        } 
  
        std::cout << std::endl; 
    } 
 
    return 0; 
}
c++

En el resultado, los elementos del array bi­di­me­n­sio­nal se re­pre­se­n­tan fila por fila:

1 2 3 4 
5 6 7 8 
9 10 11 12
c++

Ejemplos de apli­ca­ción para arrays bi­di­me­n­sio­na­les en C++

Si aprendes C++, eve­n­tua­l­me­n­te tra­ba­ja­rás con arrays. A co­n­ti­nua­ción, te mostramos ejemplos típicos de apli­ca­cio­nes para arrays bi­di­me­n­sio­na­les en C++.

Array bi­di­me­n­sio­nal en C++ como entrada del usuario

He aquí un ejemplo sencillo en C++ en el que no definimos un array bi­di­me­n­sio­nal con valores fijos, sino que lo pro­ce­sa­mos como entrada del usuario. En este caso, pedimos al usuario que in­tro­du­z­ca el número de filas y columnas, seguido de los elementos reales del array:

#include <iostream> 
 
int main() { 
 
    int numRows, numCols; 
    std::cout << "Number of rows: "; 
    std::cin >> numRows; 
    std::cout << "Number of columns: "; 
    std::cin >> numCols; 
 
    int userArray[numRows][numCols]; 
 
    std::cout << "Please enter in elements:\n"; 
    for (int i = 0; i < numRows; ++i) { 
        for (int j = 0; j < numCols; ++j) { 
            std::cout << "Element [" << i << "][" << j << "]: "; 
            std::cin >> userArray[i][j]; 
        } 
    } 
 
    std::cout << "2D array:\n"; 
    for (int i = 0; i < numRows; ++i) { 
        for (int j = 0; j < numCols; ++j) { 
            std::cout << userArray[i][j] << " "; 
        } 
        std::cout << std::endl; 
    } 
 
    return 0; 
}
c++

Si se pasan 2 filas y 3 columnas y los valores 1, 2, 3, 4, 5, 6 como entrada del usuario, entonces al array bi­di­me­n­sio­nal es:

2D array: 
1 2 3 
4 5 6
c++

Suma de matrices con arrays bi­di­me­n­sio­na­les

Usando ope­ra­do­res C como + podemos sumar fá­ci­l­me­n­te matrices con arrays bi­di­me­n­sio­na­les en C++.

#include <iostream> 
 
const int numRows = 2;  
const int numCols = 2;  
 
void matrixAddition(int A[][numCols], int B[][numCols], int result[][numCols]) { 
    for (int i = 0; i < numRows; ++i) { 
        for (int j = 0; j < numCols; ++j) { 
            result[i][j] = A[i][j] + B[i][j]; 
        } 
    } 
} 
 
void displayMatrix(int matrix[][numCols]) { 
    for (int i = 0; i < numRows; ++i) { 
        for (int j = 0; j < numCols; ++j) { 
            std::cout << matrix[i][j] << " "; 
        } 
        std::cout << std::endl; 
    } 
} 
 
int main() { 
    int matrixA[numRows][numCols] = {{1, 2}, {3, 4}}; 
    int matrixB[numRows][numCols] = {{5, 6}, {7, 8}}; 
    int resultMatrix[numRows][numCols]; 
 
    matrixAddition(matrixA, matrixB, resultMatrix); 
 
    // Output of matrix A and B and their sum 
    std::cout << "Matrix A:\n"; 
    displayMatrix(matrixA); 
 
    std::cout << "\nMatrix B:\n"; 
    displayMatrix(matrixB); 
 
    std::cout << "\nSum (A + B):\n"; 
    displayMatrix(resultMatrix); 
 
    return 0; 
}
c++

En primer lugar, creamos las matrices 2x2 A y B, y su suma se calcula y se muestra en la matriz re­su­l­ta­n­te. La función matrixAddition toma las dos matrices iniciales y la matriz re­su­l­ta­n­te como ar­gu­me­n­tos y realiza la suma. La función displayMatrix muestra la suma de las matrices en la consola.

Obtenemos este resultado:

Matrix A: 
1 2 
3 4 
 
Matrix B: 
5 6 
7 8 
 
Sum (A + B): 
6 8 
10 12
c++
Web Hosting
El hosting que crece con tu proyecto
  • Tiempo de actividad de 99.99 % y seguridad ga­ra­n­ti­za­da
  • Aumenta el re­n­di­mie­n­to según el tráfico de tu página web
  • Incluye dominio, SSL, e-mail y soporte 24/7
Ir al menú principal