Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Matrixoperationer: Sum og transponering | Arbejde med 2D-arrays
C# Arrays

Matrixoperationer: Sum og transponering

Stryg for at vise menuen

Matrixoperationer er essentielle i mange programmeringsopgaver, især når man arbejder med data, der naturligt passer ind i en gitterlignende struktur, såsom billeder, regneark eller spilleplader. To grundlæggende operationer, du ofte vil udføre på matricer (2D-arrays), er at beregne summen af alle deres elementer og transponere dem. At summere alle elementer er nyttigt til dataanalyse, mens transponering af en matrix—hvor rækker og kolonner byttes om—er afgørende i matematiske beregninger, grafik og algoritmer, der kræver en anden orientering af dataene.

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

For at summere alle elementer i et 2D-array bruger du indlejrede løkker: den ydre løkke itererer over hver række, og den indre løkke itererer over hver kolonne i den række. For hvert element lægges dets værdi til en løbende total. I eksemplet ovenfor beregner programmet summen af alle elementer i en 2x3 matrix ved at tilgå hver værdi med matrix[row, col] og akkumulere dem i variablen 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(); } } } }

Denne kode udfører en matrixtransponering. Den starter med en 3×3 matrix og opretter en ny matrix, hvor rækker og kolonner byttes om. Ved hjælp af indlejrede løkker bliver hvert element på positionen (row, col) tildelt til (col, row) i den transponerede matrix. Programmet udskriver derefter den resulterende matrix, hvilket viser, hvordan de oprindelige rækker bliver til kolonner.

Note
Bemærk

At transponere en matrix betyder at bytte dens rækker og kolonner om.

1. Hvad er resultatet af at transponere en 2x3 matrix?

2. Hvordan summerer du alle elementer i et 2D-array?

3. Hvorfor er transponering nyttig i matrixoperationer?

question mark

Hvad er resultatet af at transponere en 2x3 matrix?

Vælg det korrekte svar

question mark

Hvordan summerer du alle elementer i et 2D-array?

Vælg det korrekte svar

question mark

Hvorfor er transponering nyttig i matrixoperationer?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 4. Kapitel 3
some-alt