Matrixoperationen: Summe und Transponieren
Swipe um das Menü anzuzeigen
Matrixoperationen sind in vielen Programmieraufgaben unerlässlich, insbesondere bei der Arbeit mit Daten, die sich natürlich in einer gitterartigen Struktur anordnen lassen, wie etwa Bilder, Tabellenkalkulationen oder Spielbretter. Zwei grundlegende Operationen, die häufig an Matrizen (2D-Arrays) durchgeführt werden, sind das Berechnen der Summe aller Elemente und das Transponieren. Das Summieren aller Elemente ist für die Datenanalyse nützlich, während das Transponieren einer Matrix – das Vertauschen von Zeilen und Spalten – in mathematischen Berechnungen, Grafikanwendungen und Algorithmen, die eine andere Ausrichtung der Daten erfordern, von entscheidender Bedeutung ist.
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); } } }
Um alle Elemente in einem 2D-Array zu summieren, werden verschachtelte Schleifen verwendet: Die äußere Schleife iteriert über jede Zeile, und die innere Schleife über jede Spalte innerhalb dieser Zeile. Für jedes Element wird dessen Wert zu einer laufenden Summe addiert. Im obigen Beispiel berechnet das Programm die Summe aller Elemente in einer 2x3-Matrix, indem es auf jeden Wert mit matrix[row, col] zugreift und diese in der Variablen sum aufsummiert.
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(); } } } }
Dieser Code führt eine Matrixtransposition durch. Er beginnt mit einer 3×3-Matrix und erstellt eine neue Matrix, in der Zeilen und Spalten vertauscht sind. Mithilfe verschachtelter Schleifen wird jedes Element an der Position (row, col) auf die Position (col, row) in der transponierten Matrix zugewiesen. Das Programm gibt anschließend die resultierende Matrix aus und zeigt, wie die ursprünglichen Zeilen zu Spalten werden.
Das Transponieren einer Matrix bedeutet, ihre Zeilen in Spalten und umgekehrt zu verwandeln.
1. Was ist das Ergebnis des Transponierens einer 2x3-Matrix?
2. Wie summiert man alle Elemente in einem 2D-Array?
3. Warum ist das Transponieren bei Matrixoperationen nützlich?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen