Java: colonne di indice pari di una matrice

Tema 69

Scrivere un metodo creaMatriceEstraendoColonnePari che riceve una matrice di interi M e restituisce la sottomatrice Q ottenuta da M estraendo le colonne di indice pari. Si cosideri la colonna di indice zero come colonna pari.

Ad esempio, siano M e V rispettivamente una matrice e un vettore così costituiti

1 4 6 2 3
2 1 7 4 6
3 2 8 6 9
4 9 9 8 12
5 4 10 2 15

allora estraiColonnePari (M) darà

1 6 3
2 7 6
3 8 9
4 9 12
5 10 15

 public class tema69{ public static int[][] estraiColonnePari (int[][] M){ // detrmininiamo quante colonne dovrà avere la nuova matrice con il seguente // calcolo int numeroColonne = M[0].length/2 + M[0].length%2; // dichiariamo la nuova matrice con le dimensioni previste int[][] Q = new int [M.length][numeroColonne]; // approntiamo un indice per scorrere le colonne nt indiceColonna = 0; // creiamo un ciclo per le colonne imponendo gli opportuni salti for (int j = 0; j < M[0].length; j+= 2){ // le righe invece saranno scandite tutte for (int i = 0; i < M.length; i++) Q[i][indiceColonna] = M[i][j]; // incrementiamo gradualmente l’indice colonna della matrice Q indiceColonna++; } return Q; } public static void visualizzaMatrice (int[][] M) { for (int i = 0; i < M.length; i++) { for (int j = 0; j < M[i].length; j++) System.out.print(M[i][j] + " "); System.out.println();} }  /* Applicazione di prova */  public static void main(String args[]) { int[][] M = { {1, 4, 6, 2, 3}, {2, 1, 7, 4, 6}, {3, 2, 8, 6, 9}, {4, 9, 9, 8, 12}, {5, 4, 10, 2, 15}}; System.out.println("Matrice di partenza"); visualizzaMatrice (M); System.out.println(); System.out.println("Sottomatrice generata dal metodo"); visualizzaMatrice (estraiColonnePari(M));} }     

Commenti

commenti