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

c++ arrays multidimensionais

Neste artigo, você aprenderá C ++多维数组。更具体地说,如何在程序中声明它们,访问它们并有效使用它们。

em C ++no, você pode criar um array multidimensionalvetores. Por exemplo:

int x[3][4];

Aqui, x é um array bidimensional. Ele pode conter até12elementos.

Você pode considerar este array como um que possui3tabela de linhas, com4colunas, conforme mostrado a seguir.

Arrays tridimensionais também funcionam de maneira semelhante. Por exemplo:

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

Este array x pode conter até24de elementos. Você pode considerar este exemplo como:2cada elemento pode conter4de elementos, ou seja8de elementos, e isso8cada elemento pode conter3de elementos. Portanto, o número total de elementos que este array pode conter é24.

Inicialização de array multidimensional

Você pode inicializar arrays multidimensionais de várias maneiras.

Inicialização de array bidimensional

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

Melhor maneira, para inicializar este array com os elementos do array acima.

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

inicialização do array tridimensional

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};

um método melhor, para inicializar esse array com os mesmos elementos acima.

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}}
                 };

Exemplo1:array bidimensional

C ++o programa exibirá todos os elementos do array bidimensional inicializado.

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

Resultados de Saída

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

Exemplo2:array bidimensional

C ++o programa armazenará e exibirá as temperaturas de duas cidades diferentes por uma semana.

#include <iostream>
using namespace std;
const int CITY = 2;
const int WEEK = 7;
int main()
}
    int temperature[CITY][WEEK];
    cout << "Entrar com todas as temperaturas da semana de uma cidade e outra cidade. \n";
    // inserir valores no array de temperatura
    for (int i = 0; i < CITY; ++i)
    }
        for (int j = 0; j < WEEK; ++j)
        }
            cout << "Cidade " << i + 1 << ", Dia " << j + 1 << ": ";
            cin >> temperature[i][j];
        }
    }
    cout << "\n\nExibir valores:\n";
    // acessar valores do array de temperatura
    for (int i = 0; i < CITY; ++i)
    }
        for (int j = 0; j < WEEK; ++j)
        }
            cout << "Cidade " << i + 1 << ", Dia " << j + 1 << " = " << temperature[i][j] << endl;
        }
    }
    return 0;
}

Resultados de Saída

entrar com todas as temperaturas da semana de uma cidade e outra cidade.
Cidade 1, Dia 1 : 32
Cidade 1, Dia 2 : 33
Cidade 1, Dia 3 : 32
Cidade 1, Dia 4 : 34
Cidade 1, Dia 5 : 35
Cidade 1, Dia 6 : 36
Cidade 1, Dia 7 : 38
Cidade 2, Dia 1 : 23
Cidade 2, Dia 2 : 24
Cidade 2, Dia 3 : 26
Cidade 2, Dia 4 : 22
Cidade 2, Dia 5 : 29
Cidade 2, Dia 6 : 27
Cidade 2, Dia 7 : 23
exibir valor:
Cidade 1, Dia 1 = 32
Cidade 1, Dia 2 = 33
Cidade 1, Dia 3 = 32
Cidade 1, Dia 4 = 34
Cidade 1, Dia 5 = 35
Cidade 1, Dia 6 = 36
Cidade 1, Dia 7 = 38
Cidade 2, Dia 1 = 23
Cidade 2, Dia 2 = 24
Cidade 2, Dia 3 = 26
Cidade 2, Dia 4 = 22
Cidade 2, Dia 5 = 29
Cidade 2, Dia 6 = 27
Cidade 2, Dia 7 = 23

Exemplo3:array tridimensional

C ++programa, usado para armazenar valores de entrada do usuário em um array tridimensional e exibi-los.

#include <iostream>
using namespace std;
int main()
}
    // esse array pode armazenar até12elementos (2x3x2)
    int test[2][3][2];
    cout << "Entrar12valores: \n";
    
        //inserir valores no array de teste
        //usar3três loops aninhados.
    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 << "\nExibir valores armazenados: " << endl;
    // exibir valores com í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;
}

Resultados de Saída

Entrada12Números: 
1
2
3
4
5
6
7
8
9
10
11
12
Mostrar valor armazenado:
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

Com o aumento da dimensão, embora o conceito seja muito semelhante, a complexidade também aumenta significativamente.