Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Matrisoperationer: Summa och transponering | Arbete med 2D-arrayer
C#-Arrayer

Matrisoperationer: Summa och transponering

Svep för att visa menyn

Matrixoperationer är viktiga i många programmeringsuppgifter, särskilt när man arbetar med data som naturligt passar in i en rutnätsliknande struktur, såsom bilder, kalkylblad eller spelbräden. Två grundläggande operationer som ofta utförs på matriser (2D-arrayer) är att beräkna summan av alla deras element och att transponera dem. Att summera alla element är användbart för dataanalys, medan transponering av en matris—att byta plats på dess rader och kolumner—är avgörande i matematiska beräkningar, grafik och algoritmer som kräver en annan orientering av datan.

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

För att summera alla element i en 2D-array används nästlade loopar: den yttre loopen itererar över varje rad och den inre loopen itererar över varje kolumn inom den raden. För varje element adderas dess värde till en löpande totalsumma. I exemplet ovan beräknar programmet summan av alla element i en 2x3-matris genom att komma åt varje värde med matrix[row, col] och ackumulera dem i variabeln 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(); } } } }

Denna kod utför en matristransponering. Den börjar med en 3×3-matris och skapar en ny matris där rader och kolumner byter plats. Med hjälp av nästlade loopar tilldelas varje element på positionen (row, col) till (col, row) i den transponerade matrisen. Programmet skriver sedan ut den resulterande matrisen och visar hur de ursprungliga raderna blir kolumner.

Note
Notering

Att transponera en matris innebär att dess rader blir kolumner och vice versa.

1. Vad blir resultatet av att transponera en 2x3-matris?

2. Hur summerar du alla element i en tvådimensionell array?

3. Varför är transponering användbart vid matrishantering?

question mark

Vad blir resultatet av att transponera en 2x3-matris?

Vänligen välj det korrekta svaret

question mark

Hur summerar du alla element i en tvådimensionell array?

Vänligen välj det korrekta svaret

question mark

Varför är transponering användbart vid matrishantering?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 4. Kapitel 3
some-alt