Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Matriseoperasjoner: Sum og transponering | Arbeide med 2D-matriser
C#-Arrayer

Matriseoperasjoner: Sum og transponering

Sveip for å vise menyen

Matrixoperasjoner er viktige i mange programmeringsoppgaver, spesielt når man arbeider med data som naturlig passer inn i en rutenettstruktur, som bilder, regneark eller spillebrett. To grunnleggende operasjoner du ofte utfører på matriser (2D-arrays) er å beregne summen av alle elementene og å transponere dem. Å summere alle elementene er nyttig for dataanalyse, mens transponering av en matrise—bytte om rader og kolonner—er avgjørende i matematiske beregninger, grafikk og algoritmer som krever en annen orientering av 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 å summere alle elementene i et 2D-array, bruker du nøstede løkker: den ytre løkken itererer over hver rad, og den indre løkken itererer over hver kolonne i den raden. For hvert element legger du verdien til en løpende total. I eksemplet ovenfor beregner programmet summen av alle elementene i en 2x3 matrise ved å få tilgang til hver verdi med matrix[row, col] og akkumulere dem i variabelen 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 koden utfører en matrisetransponering. Den starter med en 3×3-matrise og oppretter en ny matrise der rader og kolonner byttes om. Ved hjelp av nestede løkker blir hvert element på posisjon (row, col) tildelt til (col, row) i den transponerte matrisen. Programmet skriver deretter ut den resulterende matrisen, og viser hvordan de opprinnelige radene blir kolonner.

Note
Merk

Å transponere en matrise betyr å gjøre radene om til kolonner og omvendt.

1. Hva er resultatet av å transponere en 2x3-matrise?

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

3. Hvorfor er transponering nyttig i matriseoperasjoner?

question mark

Hva er resultatet av å transponere en 2x3-matrise?

Velg det helt riktige svaret

question mark

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

Velg det helt riktige svaret

question mark

Hvorfor er transponering nyttig i matriseoperasjoner?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 4. Kapittel 3
some-alt