Operazioni sulle Matrici: Somma e Trasposizione
Scorri per mostrare il menu
Le operazioni sulle matrici sono fondamentali in molte attività di programmazione, soprattutto quando si lavora con dati che si adattano naturalmente a una struttura a griglia, come immagini, fogli di calcolo o tavole di gioco. Due operazioni fondamentali che spesso si eseguono sulle matrici (array 2D) sono il calcolo della somma di tutti gli elementi e la trasposizione. Sommare tutti gli elementi è utile per l'analisi dei dati, mentre trasporre una matrice—scambiando le sue righe con le colonne—è cruciale nei calcoli matematici, nella grafica e negli algoritmi che richiedono un orientamento diverso dei dati.
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); } } }
Per sommare tutti gli elementi in un array 2D, si utilizzano cicli annidati: il ciclo esterno itera su ogni riga, mentre il ciclo interno itera su ogni colonna all'interno di quella riga. Per ogni elemento, si aggiunge il suo valore a un totale progressivo. Nell'esempio sopra, il programma calcola la somma di tutti gli elementi in una matrice 2x3 accedendo a ciascun valore con matrix[row, col] e accumulandoli nella variabile 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(); } } } }
Questo codice esegue una trasposizione di matrice. Parte da una matrice 3×3 e crea una nuova matrice in cui righe e colonne sono scambiate. Utilizzando cicli annidati, ogni elemento nella posizione (row, col) viene riassegnato a (col, row) nella matrice trasposta. Il programma stampa poi la matrice risultante, mostrando come le righe originali diventino colonne.
Trasporre una matrice significa trasformare le sue righe in colonne e viceversa.
1. Qual è il risultato della trasposizione di una matrice 2x3?
2. Come si sommano tutti gli elementi in un array 2D?
3. Perché la trasposizione è utile nelle operazioni sulle matrici?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione