Declaração e atribuição
Int [,] array = x, x, y, y;
Esta matriz tem [2, 2] tamanho. Isso mostra que uma matriz tem duas linhas e duas colunas. Implementamos programas de matriz 2D de maneiras diferentes. Vamos começar a elaborar a funcionalidade das matrizes 2D.
Exemplo 1
A matriz multidimensional em C Sharp é como aqueles em C ++ e outras linguagens de programação. Esta matriz contém mais linhas e colunas do que uma única matriz; Portanto, a inicialização de uma matriz 2D é de alguma forma diferente; Precisamos atribuir valores em ambas as dimensões seguindo a ordem de linhas e colunas. Então, o primeiro exemplo lida com a declaração de uma matriz 2D. Vamos implementá -lo no programa como vimos a sintaxe da amostra. Declare a biblioteca do sistema e a classe para usar o programa principal dentro dele.
Usando o sistema;
Agora, inicialize a matriz 2D do tipo inteiro nomeada como "números".
Int [,] números = 4, 8, 2, 6;
Dessa forma, os números inteiros para ambas as linhas são inicializados, tendo duas colunas cada. Esta é a inicialização manual dos elementos da matriz 2D. Para acessar os itens de uma matriz, usaremos uma instrução simples de console para exibir os elementos. Primeiro, exibiremos o primeiro item da matriz 2D da primeira linha, para que os valores da linha e da coluna sejam de zero índices, pois o índice da matriz começa a partir de 0.
Console. WriteLine ("Elementos no índice [0, 0]:" +números [0,0]);
Da mesma forma, para o primeiro item da segunda linha, usaremos a mesma instrução; Somente o número do índice para a linha será alterado. E, no caso do segundo elemento da segunda linha, os índices de linha e coluna serão incrementados. [1, 1].
Vamos executar o código anterior no terminal Ubuntu. Para esse fim, será necessário um compilador para ajudar o processo de execução. MCS é usado para compilar códigos de origem Sharp C Sharp. Além disso, o Mono executará o arquivo compilado com o “.exe ”extensão.
Arquivo de $ mcs.cs
$ MONO FILE.exe
Você pode ver que as duas primeiras linhas exibem o valor resultante no índice 0 em ambas as linhas. Enquanto o último mostra o segundo valor na segunda linha.
Exemplo # 2
Depois de adicionar os itens e inicializar a matriz manualmente, podemos alterar a matriz adicionando ou removendo itens dela. Isso pode ser feito facilmente, fornecendo os detalhes dos itens especificando os índices em linhas e colunas. À medida que declaramos e atribuímos os valores manualmente a matrizes, é fácil acessar e alterar os itens. Considerando que, para os loops, fica difícil procurar o item que itera através de cada elemento e depois alterá -lo. Primeiro, declaramos uma variedade de tamanhos [2, 2].
Exibir os itens no índice [0, 0] antes de trocá -los com o novo número. Depois disso, atribua o novo número usando o seguinte método:
Números [0, 0] = 456;
Ao fazer isso, o primeiro número será substituído pelo anterior. Um valor atribuído diretamente remove o anterior automaticamente.
Agora exibiremos o valor no mesmo índice para confirmar a substituição.
Exemplo # 3
Até agora, a metodologia de acessar elementos da matriz foi feita manualmente. No entanto, essa abordagem pode ser alterada usando loops para acessar matrizes multidimensionais. Loops podem reduzir a complexidade do tempo em comparação com os métodos manuais. Agora, veremos o uso de loops em C Sharp 2D Declaration e acesso.
Primeiro, declare uma matriz. Não fixamos o tamanho da matriz enquanto a declaração; Somente os valores são atribuídos diretamente. Mas o tamanho aparente para uma matriz 2D aqui é [2, 3], pois contém 2 linhas e 3 colunas.
Após a declaração da matriz 2D, acessaremos o valor por meio de loops. Em uma variedade unidimensional simples, um único para loop é usado para iterar através de uma matriz. Mas, no caso de uma matriz 2D, precisamos de dois loops; um é o exterior para loop e o interior para loop. O loop externo é para as linhas, enquanto o loop interno representa as colunas em uma matriz 2D. Como não mencionamos o tamanho de uma matriz, usaremos GetLength (0); uma função interna para ter o tamanho de uma matriz.
Ao usar o tamanho, o loop pode iterar até esta extensão. O loop externo itera apenas duas vezes como o número de linhas é 2. Primeiro, o loop externo começa e o loop interno itera para cada coluna em uma única linha. Em seguida, o loop externo é incrementado e o loop interno itera para a segunda linha até que todos os itens sejam acessados e exibidos. Dois índices são usados para o loop interno, a partir dos 0 índices.
Console.escreva (números [i, j]+ "");
Agora, compile e execute -o no console.
Cada item da respectiva linha é exibido.
Exemplo # 4
Este exemplo agora lida com o mecanismo de loop na declaração 2D nítida e atribuindo valores. O anterior estava apenas exibindo os itens através de um loop. Declararemos dinamicamente a matriz 2D no programa principal através do novo operador.
Vamos imprimir o valor presente de uma matriz. Ainda não atribuímos nenhum valor à matriz, portanto, por padrão; O valor é 0 para cada linha e coluna.
Agora, atribuiremos os valores à matriz pelo loop aninhado.
a += 5;
arr [i, j] = a;
Usamos 5 números desde o início, e cada próximo índice levará o novo número obtido ao adicionar 5 ao número anterior.
Novamente, usaremos o aninhado para o loop para exibir os itens da matriz. Isso seguirá a mesma técnica descrita acima no exemplo a seguir:
Agora, execute o código. Você verá isso primeiro, antes de declarar valores, cada índice contém 0. Em seguida, cada índice da matriz terá o número múltiplo de 5 até o número 20.
Conclusão
Uma matriz multidimensional é fácil de declarar seguindo a ordem de linha e colunas na matriz. Uma linguagem de programação nítida C é usada para implementar matrizes 2D no sistema operacional Linux. Uma matriz 2D é declarada e acessada manualmente e através do loop. Uma matriz multidimensional é uma coleção da matriz unidimensional, aumentando a área de itens a serem adicionados em um único recipiente na forma de uma tabela. Explicamos a implementação de uma matriz 3D por declaração simples e atribuindo os valores, substituindo o valor e usando loops em uma matriz 2D.