Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Matriisitoiminnot: Summa ja Transponointi | Työskentely 2D-taulukoiden Kanssa
C#-Taulukot

Matriisitoiminnot: Summa ja Transponointi

Pyyhkäise näyttääksesi valikon

Matriisioperaatiot ovat olennaisia monissa ohjelmointitehtävissä, erityisesti silloin kun käsiteltävä data sopii luontevasti ruudukkomuotoon, kuten kuvat, taulukkolaskentatiedostot tai pelilaudat. Kaksi keskeistä operaatiota, joita usein suoritetaan matriiseille (kaksiulotteisille taulukoille), ovat kaikkien alkioiden summan laskeminen ja transponointi. Alkioiden summan laskeminen on hyödyllistä data-analyysissä, kun taas matriisin transponointi—rivin ja sarakkeen vaihtaminen keskenään—on tärkeää matemaattisissa laskelmissa, grafiikassa ja algoritmeissa, joissa tarvitaan datan erilaista suuntausta.

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

Kaikkien alkioiden summan laskemiseksi kaksiulotteisessa taulukossa käytetään sisäkkäisiä silmukoita: ulompi silmukka käy läpi jokaisen rivin ja sisempi silmukka käy läpi jokaisen sarakkeen kyseisellä rivillä. Jokaisen alkion arvo lisätään kertymään. Yllä olevassa esimerkissä ohjelma laskee kaikkien alkioiden summan 2x3-matriisissa käyttämällä matrix[row, col]-viittausta ja keräämällä arvot sum-muuttujaan.

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

Tämä koodi suorittaa matriisin transponoinnin. Se alkaa 3×3-matriisilla ja luo uuden matriisin, jossa rivit ja sarakkeet on vaihdettu keskenään. Sisäkkäisiä silmukoita käyttäen jokainen alkio kohdassa (row, col) sijoitetaan kohtaan (col, row) transponoidussa matriisissa. Ohjelma tulostaa lopuksi tulosmatriisin, jolloin alkuperäiset rivit näkyvät sarakkeina.

Note
Huomautus

Matriisin transponointi tarkoittaa rivien muuttamista sarakkeiksi ja sarakkeiden riveiksi.

1. Mikä on 2x3-matriisin transponoinnin tulos?

2. Miten lasketaan kaikkien alkioiden summa kaksiulotteisessa taulukossa?

3. Miksi transponointi on hyödyllistä matriisioperaatioissa?

question mark

Mikä on 2x3-matriisin transponoinnin tulos?

Valitse oikea vastaus

question mark

Miten lasketaan kaikkien alkioiden summa kaksiulotteisessa taulukossa?

Valitse oikea vastaus

question mark

Miksi transponointi on hyödyllistä matriisioperaatioissa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 4. Luku 3
some-alt