Introdução às matrizes multidimensionais em C ++

Matrizes multidimensionais em matrizes C ++ são usadas para armazenar os dados na forma de uma tabela de linhas e colunas. Aqui, podemos criar matrizes únicas ou multidimensionais para armazenar valores em diferentes cenários. A dimensão unidimensional possui uma dimensão, enquanto que uma matriz multidimensional pode ser bidimensional, tridimensional etc. Podemos pensar na matriz multidimensional como uma matriz de matrizes. Aqui os dados são armazenados em forma de tabela. Neste artigo, veremos o que é uma matriz multidimensional, o uso de uma matriz multidimensional, como acessá-los e como usar uma matriz multidimensional efetivamente em nosso código.

Um elemento da matriz multidimensional em C ++

  • Vamos considerar o exemplo de uma matriz para entender a matriz multidimensional. Em uma matriz 2D, haverá linhas e colunas. Para representar isso, usamos uma matriz dimensional 2D.
  • Em matrizes multidimensionais, dados na forma de uma tabela, que estão na ordem das linhas principais. A sintaxe geral de uma matriz bidimensional é a seguinte.

data_type array_name(size1)(size2);

  • Lembre-se de que o tamanho é sempre um valor inteiro positivo. Abaixo está o exemplo de uma matriz tridimensional.

int matrix(3)(5);

Aqui, a matriz é uma matriz bidimensional, com um máximo de 15 elementos.

  • O número máximo de elementos contidos em uma matriz é obtido multiplicando o tamanho de todas as dimensões. Por exemplo, no 3DArray (2) (3) (4), o elemento máximo é obtido multiplicando 2, 3, 4, ou seja, 24.
  • Da mesma forma, a matriz (10) (10) (10) pode conter 1000 elementos. Podemos visualizar isso, pois cada um dos 10 elementos pode conter 10 elementos, o que perfaz um total de 100 elementos. Cada 100 elementos pode conter outros 10, o que faz com que a contagem final seja de 1000.
  • Podemos criar uma matriz multidimensional criando primeiro uma matriz mais simples e depois estendendo-a para a dimensão necessária.

Inicialização de uma matriz multidimensional

Vamos pegar uma matriz 3D. Podemos inicializar uma matriz tridimensional de várias maneiras. Abaixo estão os exemplos para referência.

int 3DArray(2)(2)(4) = (1, 3, 6, 5, 8, 9, -2, 4, 5, 10, 34, 56, 23, -56, 10, 37);

  • Os valores nos colchetes da esquerda para a direita são armazenados dentro da matriz como uma tabela da esquerda para a direita. Os valores serão preenchidos na matriz na seguinte ordem. Primeiros 4 elementos da esquerda na primeira linha, próximos 4 elementos na segunda linha e assim por diante.
  • A inicialização acima não nos dará uma imagem clara da matriz. Para melhor visualização, podemos inicializar a mesma matriz que abaixo.

int 3DArray(2)(2)(4) =
(
( (1, 3, 6, 5), (8, 9, -2, 4) ),
( (5, 10, 34, 56), (23, -56, 10, 37) )
);

O acesso a elementos na matriz multidimensional é semelhante a qualquer outra matriz, usando o índice do elemento. Temos que usar três loops para acessar todos os elementos dentro da matriz. Abaixo está um exemplo de acesso a um elemento em uma matriz 3D.

x(2)(1)(0)

  • Para matrizes de maior dimensão, como 4, 5, 6, etc., o conceito é bastante semelhante, mas a complexidade de lidar com as coisas aumenta. Por exemplo, o número de loops usados, o número de pesquisas de elementos, o acesso a um elemento específico etc.
  • Elementos de matrizes tridimensionais ou dimensionais superiores podem ser movidos de diferentes maneiras. Esta operação é semelhante a vetores e matrizes. Diferentes técnicas, como remodelar, permutar e apertar, são usadas para reorganizar os elementos dentro da matriz. Essas são as técnicas complexas que não precisamos nos preocupar por enquanto.

Exemplo com etapas

Aqui estão alguns exemplos de matrizes multidimensionais em C ++ fornecidas abaixo com as etapas:

Exemplo 1

Agora, usaremos essas matrizes 2D para entender como as matrizes multidimensionais funcionarão. Escreveremos um código C ++ que receberá a entrada do usuário por duas matrizes, as adicionará e exibirá o resultado da adição das matrizes. Primeiro, escreveremos o programa principal para a execução.

Dentro da função principal, declararemos duas matrizes bidimensionais que podem armazenar até 4 elementos.

Agora, pediremos ao usuário para inserir 4 valores para cada matriz.

Para armazenar os valores na matriz, precisamos de dois loops, ou seja, cada dimensão usa um loop para percorrer. Tomaremos dois índices, iej, para as duas dimensões. Para uma melhor compreensão do código, usaremos o loop for. O primeiro loop for representa a primeira dimensão, o segundo for loop para a segunda dimensão. Dentro do segundo loop for, estamos recebendo a entrada do usuário.

Agora pegue a entrada para a segunda matriz de maneira semelhante.

Agora, como os valores são armazenados em cada matriz, é hora de mostrarmos a adição de duas matrizes ao usuário. Para isso, novamente estamos usando os dois para loops de passagem e, desta vez, cout para imprimir os valores.

Resultado:

Exemplo 2

Declaramos uma matriz de qualquer número de elementos e os usamos para executar funções diferentes como adição, subtração, multiplicação, inversão, transformação, etc. Para a subtração abaixo, o código pode ser usado:

Escolha entradas diferentes, verifique as saídas e calcule-as matematicamente.

Resultado:

Conclusão

Neste artigo, aprendemos o que é uma matriz, o que é matriz única e multidimensional, o significado da matriz multidimensional, como inicializar a matriz e usar a matriz multidimensional no programa com base em nossas necessidades.

Artigos recomendados

Este é um guia para matrizes multidimensionais em C ++. Aqui discutimos a sintaxe, os elementos e a inicialização da matriz multidimensional em C ++, juntamente com exemplos e etapas. Você também pode consultar os seguintes artigos para saber mais:

  1. Matriz multidimensional em C
  2. Introdução ao C ++
  3. Rust vs C ++
  4. Sobrecarga e substituição em C ++