Java: riga centrale matrice con multipli sulla colonna centrale

Tema 90

Scrivere un metodo isOgniElementoRigaCentraleMultiploDiAlmenoUnElementoColonnaCentrale che riceve in ingresso una matrice quadrata M di interi di dimensione dispari e restituisce TRUE se per ogni elemento presente sulla riga centrale di M esiste un suo multiplo sulla colonna 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 isOgniElementoRigaCentraleMultiploDiAlmenoUnElementoInColonnaCentrale (M) = TRUE

 public class tema90{ public static boolean isOgniElementoRigaCentraleMultiploDiAlmenoUnElementoColonnaCentrale (int[][] M){ for (int i = 0; i < M.length; i++) { boolean multiplo = false; // effettuiamo il controllo tenendo bloccato sul valore centrale di M l’indice // delle colonne nella prima // scansione della matrice e l’indice delle righe nella seconda scansione della // matrice if (M[M.length/2][i] % M[i][M.length/2] == 0) multiplo = true; if (! multiplo) return false; } return true; }  /* Applicazione di prova */  public static void main (String args[]) { int[][] M = new int[][]{{1,3,7,9,6},{2,4,2,5,13},{14,18,11,1,16},{3,1,1,8,2},{0,12,4,4,5}}; System.out.println( isOgniElementoRigaCentraleMultiploDiAlmenoUnElementoColonnaCentrale(M)); // risultato TRUE System.out.println(); int[][] Q = 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}}; System.out.println( isOgniElementoRigaCentraleMultiploDiAlmenoUnElementoColonnaCentrale(Q)); // risultato FALSE } }     

Commenti

commenti