English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

c++ arrays multidimensionales

En este artículo, aprenderá C ++如何声明它们, acceder a ellas y usarlas de manera efectiva.

En C ++En, se puede crear un array multidimensionalArreglo

int x[3][4];

Aquí, x es un array bidimensional. Puede contener como máximo12elementos.

Puede ver este array como un array3Una tabla de filas, con cada fila que tiene4columnas, como se muestra a continuación.

Los arrays tridimensionales también funcionan de manera similar. Por ejemplo:

float x[2][4][3];

Este array x puede contener como máximo24Puede considerar este ejemplo como:2cada elemento puede contener4elementos, es decir8elementos, y esto8cada elemento puede contener3Cada elemento de los24。

Inicialización de un array multidimensional

Puede inicializar un array multidimensional de múltiples maneras.

Inicialización de un array bidimensional

int test[2][3]= {2, 4, -5, 9, 0, 9};

Mejor método para inicializar este array con los elementos del array superior.

int     test[2][3]= { {2, 4, 5}, {9, 0 0}};

inicialización de arrays tridimensionales

int test[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};

una mejor manera de inicializar este array con los mismos elementos que el anterior.

int test[2][3][4]= { 
                     { {3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2}},
                     { {13, 4, 56, 3}, {5, 9, 3, 5}, {3, 1, 4, 9}}
                 };

Ejemplo1:array bidimensional

C ++el programa muestra todos los elementos del array bidimensional inicializado.

#include <iostream>
using namespace std;
int main()
{
    int test[3][2] =
    {
        {2, -5},
        {4, 0},
        {9, 1}
    };
    // usar para acceder a un array bidimensional
    // bucles anidados
    for (int i = 0; i < 3; ++i)
    {
        for (int j = 0; j < 2; ++j)
        {
            cout << "test[" << i << "][" << j << "] = " << test[i][j] << endl;
        }
    }
    return 0;
}

Resultado de salida

test[0][0] = 2
test[0][1] = -5
test[1][0] = 4
test[1][1]= 0
test[2][0] = 9
test[2][1] = 1

Ejemplo2:array bidimensional

C ++el programa almacenará y mostrará las temperaturas de dos ciudades diferentes durante una semana.

#include <iostream>
using namespace std;
const int CITY = 2;
const int WEEK = 7;
int main()
{
    int temperature[CITY][WEEK];
    cout << "Ingresar todas las temperaturas de la semana de dos ciudades. \n";
    // insertar valores en el array de temperatura
    for (int i = 0; i < CITY; ++i)
    {
        for (int j = 0; j < WEEK; ++j)
        {
            cout << "Ciudad " << i + 1 << ", Día " << j + 1 << ": ";
            cin >> temperature[i][j];
        }
    }
    cout << "\n\nMostrar valores:\n";
    // acceder a valores del array de temperatura
    for (int i = 0; i < CITY; ++i)
    {
        for (int j = 0; j < WEEK; ++j)
        {
            cout << "Ciudad " << i + 1 << ", Día " << j + 1 << " = " << temperature[i][j] << endl;
        }
    }
    return 0;
}

Resultado de salida

ingresar todas las temperaturas de la semana de dos ciudades.
Ciudad 1, Día 1 : 32
Ciudad 1, Día 2 : 33
Ciudad 1, Día 3 : 32
Ciudad 1, Día 4 : 34
Ciudad 1, Día 5 : 35
Ciudad 1, Día 6 : 36
Ciudad 1, Día 7 : 38
Ciudad 2, Día 1 : 23
Ciudad 2, Día 2 : 24
Ciudad 2, Día 3 : 26
Ciudad 2, Día 4 : 22
Ciudad 2, Día 5 : 29
Ciudad 2, Día 6 : 27
Ciudad 2, Día 7 : 23
mostrar valor:
Ciudad 1, Día 1 = 32
Ciudad 1, Día 2 = 33
Ciudad 1, Día 3 = 32
Ciudad 1, Día 4 = 34
Ciudad 1, Día 5 = 35
Ciudad 1, Día 6 = 36
Ciudad 1, Día 7 = 38
Ciudad 2, Día 1 = 23
Ciudad 2, Día 2 = 24
Ciudad 2, Día 3 = 26
Ciudad 2, Día 4 = 22
Ciudad 2, Día 5 = 29
Ciudad 2, Día 6 = 27
Ciudad 2, Día 7 = 23

Ejemplo3:array tridimensional

C ++un programa que almacena valores ingresados por el usuario en un array tridimensional y los muestra.

#include <iostream>
using namespace std;
int main()
{
    // este array puede almacenar hasta12elementos (2x3x2)
    int test[2][3][2];
    cout << "Entrar"12valores: \n";
    
        //insertar valores en el array de prueba
        //usar3tres bucles for anidados.
    for (int i = 0; i < 2; ++i)
    {
        for (int j = 0; j < 3; ++j)
        {
            for(int k = 0; k < 2; ++k)
            {
                cin >> test[i][j][k];
            }
        }
    }
    cout << "\nMostrar valores almacenados:" << endl;
    // mostrar valores con índice.
    for (int i = 0; i < 2; ++i)
    {
        for (int j = 0; j < 3; ++j)
        {
            for(int k = 0; k < 2; ++k)
            {
                cout << "test[" << i << "][" << j << "][" << k << "] = " << test[i][j][k] << endl;
            }
        }
    }
    return 0;
}

Resultado de salida

Entrada12número: 
1
2
3
4
5
6
7
8
9
10
11
12
Mostrar valores almacenados:
test[0][0][0] = 1
test[0][0][1] = 2
test[0][1][0] = 3
test[0][1][1] = 4
test[0][2][0] = 5
test[0][2][1] = 6
test[1][0][0] = 7
test[1][0][1] = 8
test[1][1][0] = 9
test[1][1][1] = 10
test[1][2][0] = 11
test[1][2][1] = 12

A medida que aumenta la dimensión, aunque los conceptos son muy similares, la complejidad también aumenta considerablemente.