Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Matrixbewerkingen: Som en Transponeren | Werken met 2D-Arrays
C# Arrays

Matrixbewerkingen: Som en Transponeren

Veeg om het menu te tonen

Matrixbewerkingen zijn essentieel bij veel programmeertaken, vooral wanneer wordt gewerkt met gegevens die zich natuurlijk in een rasterstructuur laten plaatsen, zoals afbeeldingen, spreadsheets of speelborden. Twee fundamentele bewerkingen die vaak op matrices (2D-arrays) worden uitgevoerd, zijn het berekenen van de som van alle elementen en het transponeren ervan. Het optellen van alle elementen is nuttig voor data-analyse, terwijl het transponeren van een matrix—het verwisselen van rijen en kolommen—van groot belang is bij wiskundige berekeningen, grafische toepassingen en algoritmen die een andere oriëntatie van de gegevens vereisen.

Program.cs

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); } } }

Om alle elementen in een 2D-array op te tellen, gebruik je geneste lussen: de buitenste lus doorloopt elke rij en de binnenste lus doorloopt elke kolom binnen die rij. Voor elk element tel je de waarde op bij een lopend totaal. In het bovenstaande voorbeeld berekent het programma de som van alle elementen in een 2x3 matrix door elke waarde te benaderen met matrix[row, col] en deze op te tellen bij de variabele sum.

Program.cs

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(); } } } }

Deze code voert een matrixtransponering uit. Er wordt gestart met een 3×3 matrix en een nieuwe matrix wordt aangemaakt waarbij rijen en kolommen worden omgewisseld. Met geneste lussen wordt elk element op positie (row, col) toegewezen aan (col, row) in de getransponeerde matrix. Het programma print vervolgens de resulterende matrix, waarbij te zien is hoe de oorspronkelijke rijen kolommen worden.

Note
Opmerking

Het transponeren van een matrix betekent dat de rijen worden omgezet in kolommen en omgekeerd.

1. Wat is het resultaat van het transponeren van een 2x3-matrix?

2. Hoe tel je alle elementen in een 2D-array op?

3. Waarom is transponeren nuttig bij matrixbewerkingen?

question mark

Wat is het resultaat van het transponeren van een 2x3-matrix?

Selecteer het correcte antwoord

question mark

Hoe tel je alle elementen in een 2D-array op?

Selecteer het correcte antwoord

question mark

Waarom is transponeren nuttig bij matrixbewerkingen?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 4. Hoofdstuk 3
some-alt