_stan
(320 punti)
1' di lettura

Tema 105

Scrivere un metodo eliminaUltimaColonnaEdEstraiElementiConIndiciEntrambiPariOdispari che riceve una matrice quadrata di interi M e restituisce una sottomatrice escludendo l’ultima colonna se la dimensione è dispari e contenente solo gli elementi di M i cui indici di riga e di colonna sono entrambi pari oppure entrambi dispari.
Ad esempio, sia M la matrice così costituita
3 18 15 7 2
1 9 11 4 6
7 2 6 3 5
5 1 25 2 1
3 2 33 4 4
allora eliminaUltimaColonnaEdEstraiElementiConIndiciEntrambiPariOdispari (M) darà
3 15
9 4
7 6
1 2
3 33
 public class tema105{ public static int[][]eliminaUltimaColonnaEdEstraiElementiConIndiciEntrambiPariOdispari (int[][] M){ // dichiariamo una nuova matrice con righe pari a quelle di M e colonne pari a // metà di quelle di M int[][] nuovaMatrice = new int[M.length][M.length/2]; // prepariamo un intero che inizializzeremo in modo opportuno per eliminare // l’ultima colonna // nel caso in cui la dimensione di M sia dispari int discriminante; // verifichiamo se la dimensione della matrice è pari o dispari if (M.length % 2 == 1) // nel caso la dimensione sia dispari poniamo il valore del discriminante a 1 discriminante = 1; else discriminante = 0; // iniziamo a scorrere la matrice M riga per riga for (int i = 0; i