Java: elementi della colonna e riga centrale di una matrice

Tema 86

Scrivere un metodo creaMatriceEstrandoCroceEsclusoElementoCentrale che riceve in ingresso una matrice quadrata di interi M di dimensione dispari e restituisce una matrice contenente gli elementi di M presenti sulla riga e sulla colonna centrali escluso l’elemento centrale.

Ad esempio, sia M la matrice così costituita

1 3 7 9 6
2 4 12 5 13
14 18 11 1 4
3 1 1 8 2
0 12 25 4 5

allora creaMatriceEstraendoCroceEsclusoElementoCentrale(M) darà

14 7
18 12
1 1
4 25

 public class tema86 { public static int[][] creaMatriceEstraendoCroceEsclusoElementoCentrale (int[][] M) { // approntiamo la matrice in cui posizioneremo gli elementi che soddisfano il // requisito // tale matrice avrà un numero di righe pari a quello di M meno 1 e numero di // colonne pari a 2 int[][] nuovaMatrice = new int[M.length - 1][2]; // inizializziamo un intero “delta” che useremo al momento opportuno per saltare // direttamente sugli elementi // giusti con i quali riempiremo la nuova matrice int delta = 0; for (int i = 0; i < nuovaMatrice.length; i++) { // quando l’indice di scansione sarà uguale al valore centrale di M, “delta” // sarà portato al valore 1 if (i == M.length / 2) delta = 1; // questo nuovo valore di “delta” consentirà di saltare l’elemento centrale nuovaMatrice[i][0] = M[M.length / 2][i + delta]; nuovaMatrice[i][1] = M[i + delta][M.length / 2]; } return nuovaMatrice; } 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 = new int[][]{{1,3,7,9,6},{2,4,12,5,13},{14,18,11,1,4},{3,1,1,8,2},{0,12,25,4,5}}; int[][] Q = creaMatriceEstraendoCroceEsclusoElementoCentrale (M); visualizzaMatrice (Q);}}     

Commenti

commenti