Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace TestArray
- {
- public class Metodi
- {
- static Random objRandom = new Random();
- static int[,] matOriginale = new int[10, 10];
- public static void inserimento(int[,] mat)
- {
- int random;
- int i, j;
- for (i = 0; i < 10; i++)
- {
- for (j = 0; j < 10; j++)
- {
- random = objRandom.Next(100);
- mat[i, j] = random;
- matOriginale[i, j] = mat[i, j];//Servirà quando effettuo dei cambiamenti alle rige o colonne e 1 dei 2 metodi deve riutilizzare il valore originale della matrice
- }
- }
- }
- public static void somma_diag_princ(int[,] mat)
- {
- int i, j, sommaTot = 0;
- for (i = 0; i < 10; i++)
- {
- for (j = 0; j < 10; j++)
- {
- if (i == j)
- {
- sommaTot = sommaTot + mat[i, j];
- }
- }
- }
- Console.WriteLine("La diagonale principale è: " + sommaTot);
- }
- public static void somma_diag_sec(int[,] mat)
- {
- int i, j, sommaTot = 0;
- for (i = 0; i < 10; i++)
- {
- for (j = 0; j < 10; j++)
- {
- if (i + j == 9)// la condizione va posta sommando il valore di i con quello di j e porlo uguale al limite massimo della matrice meno 1 se al posto di 10 c'era N nella condizione scrivevo (i +j = N-1)
- {
- sommaTot = sommaTot + mat[i, j];
- }
- }
- }
- Console.WriteLine("La diagonale principale è: " + sommaTot);
- }
- public static void Visualizzazione(int[,] mat)
- {
- int i, j;
- for (i = 0; i < 10; i++)
- {
- for (j = 0; j < 10; j++)
- {
- Console.Write(mat[i, j] + " ");
- }
- Console.WriteLine("");
- }
- }
- public static void Scambia_c_pari_con_dispari(int[,] mat)
- {
- int i, j;
- int[,] appo = new int[10, 10];
- //Ripristino la matrice come era all'inizio altrmenti con lo scambio delle colonne si salva quella già cambiata e non quell di partenza
- for (i = 0; i < 10; i++)
- {
- for (j = 0; j < 10; j++)
- {
- mat[i, j] = matOriginale[i, j];
- }
- }
- //Riempo la matrice d'appoggio con il contenuto della matrice originale
- for (i = 0; i < 10; i++)
- {
- for (j = 0; j < 10; j++)
- {
- appo[i, j] = mat[i, j];
- }
- }
- for (i = 0; i < 10; i++)
- {
- for (j = 0; j < 10; j++)
- {
- appo[i, j] = mat[i, j];//assegno alla matrice d'appoggio il valore della matrice originale
- if ((j % 2 == 0) && (j != 10)) //se la colonna è pari e la j è diversa da 10 procede con lo scambio (se non metto j!=10 si vai fuori dal range della matrice e crasha il programma)
- {
- mat[i, j] = appo[i, j + 1];//assegna il posto dispari
- mat[i, j + 1] = appo[i, j];//assegna posto pari
- }
- }
- }
- }
- public static void Scambia_riga_pari_dispari(int[,] mat)
- {
- int i, j;
- int[,] appo = new int[10, 10];
- //Riempo la matrice d'appoggio con il contenuto della matrice originale
- for (i = 0; i < 10; i++)
- {
- for (j = 0; j < 10; j++)
- {
- appo[i, j] = mat[i, j];
- }
- }
- for (i = 0; i < 10; i++)
- {
- for (j = 0; j < 10; j++)
- {
- appo[i, j] = mat[i, j];//assegno alla matrice d'appoggio il valore della matrice originale
- if ((i % 2 == 0) && (i != 10))//se la riga è pari e la i è diversa da 10 procede con lo scambio (se non metto i!=10 si vai fuori dal range della matrice e crasha il programma)
- {
- mat[i, j] = appo[i + 1, j];//assegna il posto dispari
- mat[i + 1, j] = appo[i, j];//assegna posto pari
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement