multidimensional arrays c
Papel da matriz multidimensional em C ++ com exemplos.
Até agora, em nossos tutoriais anteriores, vimos tudo sobre arrays unidimensionais.
C ++ também oferece suporte a matrizes com mais de uma dimensão. Eles são chamados de matrizes multidimensionais. As matrizes multidimensionais são geralmente organizadas em forma tabular, ou seja, na ordem da linha principal.
=> Procure toda a série de treinamento C ++ aqui.
O que você aprenderá:
Arrays multidimensionais em C ++
Considere uma matriz multidimensional de dimensões 3 × 2, ou seja, 3 linhas e 2 colunas.
Representamos essa matriz da seguinte maneira:
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
Conforme mostrado na representação acima, cada célula Por exemplo. R1C1 conterá o conteúdo da matriz.
O número de elementos presentes em uma matriz multidimensional é o produto de suas dimensões. Isso significa que se as dimensões de uma matriz são 3 × 2, então o número de elementos nessa matriz é o produto de 3 e 2, ou seja, 6. Da mesma forma, se as dimensões da matriz multidimensional são (10) (20) (10) então, o número de elementos nessa matriz é 10 * 20 * 10 = 2.000.
Uma matriz bidimensional é a forma mais simples da matriz multidimensional usada pelo C ++.
Declarando uma matriz
A declaração geral da matriz multidimensional em C ++ é mostrada abaixo:
dataType arrayName (size1)(size2)….(sizen);
Aqui, dataType é o tipo de dados da matriz. O tipo de dados deve ser compatível com C ++.
arrayName é o nome da matriz multidimensional.
Tamanho1, tamanho2… .sizen são os tamanhos de cada uma das dimensões da matriz.
Por exemplo,vamos declarar uma matriz de tamanho 3 × 2, ou seja, uma matriz bidimensional, myarray_2d.
int myarray_2d (3)(2);
Uma matriz bidimensional é representada na forma de linhas e colunas.
Portanto, a declaração acima da matriz pode ser representada da seguinte forma:
myarray_2d (0) (0) | myarray_2d (0) (1) |
myarray_2d (1) (0) | myarray_2d (1) (1) |
myarray_2d (2) (0) | myarray_2d (2) (1) |
Conforme mostrado na representação acima, cada elemento de uma matriz bidimensional é acessado como myarray_2d (i) (j) onde i é o número da linha e varia de 0 a n-1, onde n é o tamanho da dimensão e j é o número da coluna e varia de 0 a m-1, onde m é o tamanho da dimensão da coluna.
Inicializando Arrays Multidimensionais
Podemos inicializar arrays multidimensionais semelhantes aos arrays unidimensionais. Matrizes multidimensionais são inicializadas em linha.
Existem duas maneiras pelas quais podemos inicializar matrizes multidimensionais.
# 1) Considere uma matriz com dimensões (3) (2) chamada myarray:
int myarray(3)(2) = {1, 2,3,4,5,6};
Aqui, a inicialização do array é feita da esquerda para a direita, linha por linha. Como as dimensões são (3) (2), os dois primeiros elementos formarão a primeira linha e assim por diante.
A representação pictórica desta inicialização terá a seguinte aparência:
1 | dois |
3 | 4 |
5 | 6 |
# 2) A mesma matriz mostrada acima pode ser inicializada usando uma maneira diferente, conforme mostrado abaixo:
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
Aqui, a inicialização é feita da esquerda para a direita e cada elemento corresponde a uma linha. Como existem três linhas para este array, temos três elementos internos entre chaves ({}).
Essa forma de inicialização é mais legível e vantajosa quando as dimensões do array aumentam.
Acessando Arrays Multi-dimensionais
Os elementos da matriz multidimensional são acessados usando o índice de linha e o índice de coluna.
Vamos ver um exemplo de uma matriz bidimensional com dimensões (3) (3). Abaixo está o código para inicializá-lo.
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Se eu quiser acessar o segundo elemento na primeira linha e atribuí-lo a uma variável inteira, a linha de código será:
int val_2d = newarray(0)(1);
Abaixo está um programa de amostra que mostra a declaração, inicialização e acesso de uma matriz bidimensional.
#include using namespace std; int main() { int myarray(3)(3) = {{1,2,3},{4,5,6},{7,8,9}}; for(int i=0;i <3;i++) { for(int j=0;j<3;j++) { cout< Este programa produz a seguinte saída:
1 2 3 4 5 6 7 8 9
Conforme mostrado no programa acima, uma matriz bidimensional é declarada e, em seguida, inicializada. Então, para acessar e imprimir todos os elementos do array, definimos dois loops for. O loop for externo é para acessar os elementos em linha. O loop for interno atua como um contador para acessar os elementos em cada coluna.
qual é um bom downloader de música para android
Dessa forma, acessamos cada elemento desse array bidimensional e o exibimos na tela.
Conclusão
Matrizes multidimensionais podem ter qualquer número de dimensões e, conforme o número de dimensões aumenta, a complexidade também aumenta de acordo.
Embora tenhamos usado matrizes bidimensionais em todos os exemplos acima, podemos codificar matrizes com dimensões mais altas de maneira semelhante.
=> Clique aqui para obter o curso C ++ grátis.
Leitura recomendada
- Matrizes em STL
- Usando arrays com funções em C ++
- Arrays C ++ com exemplos
- Arrays VBScript: usando funções DIM, REDIM, Split e Ubound Array
- Inserir vários documentos no MongoDB usando matrizes
- Best FREE C # Tutorial Series: The Ultimate C # Guide for Beginners
- DataTypes Java, Loops, Arrays, Switch e Assertions
- Scripting Unix Shell avançado: matrizes, operadores de teste de arquivo e string, variáveis especiais