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
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
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.
Å 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?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår