Operações de Matriz: Soma e Transposição
Deslize para mostrar o menu
Operações com matrizes são essenciais em muitas tarefas de programação, especialmente ao lidar com dados que se encaixam naturalmente em uma estrutura de grade, como imagens, planilhas ou tabuleiros de jogos. Duas operações fundamentais frequentemente realizadas em matrizes (arrays 2D) são o cálculo da soma de todos os seus elementos e a transposição. Somar todos os elementos é útil para análise de dados, enquanto transpor uma matriz—trocando suas linhas por colunas—é crucial em cálculos matemáticos, gráficos e algoritmos que exigem uma orientação diferente dos dados.
Program.cs
12345678910111213141516171819202122232425262728// File: Program.cs using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[,] matrix = { {1, 2, 3}, {4, 5, 6} }; int sum = 0; for (int row = 0; row < matrix.GetLength(0); row++) { for (int col = 0; col < matrix.GetLength(1); col++) { sum += matrix[row, col]; } } Console.WriteLine("Sum of all elements: " + sum); } } }
Para somar todos os elementos em um array 2D, utilizam-se loops aninhados: o loop externo percorre cada linha e o loop interno percorre cada coluna dentro dessa linha. Para cada elemento, seu valor é adicionado a um total acumulado. No exemplo acima, o programa calcula a soma de todos os elementos em uma matriz 2x3 acessando cada valor com matrix[row, col] e acumulando-os na variável sum.
Program.cs
123456789101112131415161718192021222324252627282930313233343536373839// File: Program.cs using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[,] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; int size = matrix.GetLength(0); int[,] transposed = new int[size, size]; for (int row = 0; row < size; row++) { for (int col = 0; col < size; col++) { transposed[col, row] = matrix[row, col]; } } Console.WriteLine("Transposed matrix:"); for (int row = 0; row < size; row++) { for (int col = 0; col < size; col++) { Console.Write(transposed[row, col] + " "); } Console.WriteLine(); } } } }
Este código realiza uma transposição de matriz. Ele começa com uma matriz 3×3 e cria uma nova matriz onde as linhas e colunas são trocadas. Utilizando loops aninhados, cada elemento na posição (row, col) é realocado para (col, row) na matriz transposta. O programa então imprime a matriz resultante, mostrando como as linhas originais se tornam colunas.
Transpor uma matriz significa transformar suas linhas em colunas e vice-versa.
1. Qual é o resultado de transpor uma matriz 2x3?
2. Como somar todos os elementos de um array 2D?
3. Por que a transposição é útil em operações com matrizes?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo