Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Operazioni sulle Matrici: Somma e Trasposizione | Lavorare con Array 2D
Array in C#

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

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

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.

Note
Nota

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?

question mark

Qual è il risultato della trasposizione di una matrice 2x3?

Seleziona la risposta corretta

question mark

Come si sommano tutti gli elementi in un array 2D?

Seleziona la risposta corretta

question mark

Perché la trasposizione è utile nelle operazioni sulle matrici?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 4. Capitolo 3
some-alt