Concetti Chiave
- Il metodo verificaSeNellaMatriceCiSonoElementiMultipliDiAltri verifica la presenza di elementi in una matrice che siano multipli di altri elementi.
- Utilizza un metodo di supporto, isMultiplo, per controllare se un numero è multiplo di più di un elemento nella matrice.
- Il metodo scorre la matrice riga per riga, controllando ogni elemento per determinare se soddisfa la condizione di multiplo.
- Restituisce TRUE se trova almeno un elemento che è multiplo di altri, altrimenti restituisce FALSE.
- Due esempi di applicazione mostrano che la matrice M restituisce TRUE e la matrice Q restituisce FALSE.
Metodo verifica multipli nella matrice
Tema 101
Scrivere un metodo verificaSeNellaMatriceCiSonoElementiMultipliDiAltri che riceve una matrice di interi M e restituisce TRUE se M contiene elementi che sono multipli di altri elementi presenti nella matrice; FALSE altrimenti.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 |
public class tema101{ // usiamo un metodo di supporto che verifica se un numero è multiplo di qualche // elemento di una matrice public static boolean isMultiplo (int k, int[][] M){ // prepariamo un contatore che sarà incrementato ogni volta che il numero // risulterà multiplo di un elemento int contatoreMultipli = 0; // scorriamo la matrice riga per riga for (int i = 0; i
Metodo principale verificaSeNellaMatriceCiSonoElementiMultipliDiAltri
length; j++){ // effettuiamo il controllo if (k % M[ i ][j] == 0) // ed eventualmente aggiorniamo il contatore contatoreMultipli++;} } // se il numero è risultato multiplo di qualche elemento e quindi il contatore // sarà maggiore di 1 // poniamo a TRUE un’opportuna variabile boolean boolean multipli; if (contatoreMultipli > 1) multipli = true; else multipli = false; return multipli; } public static boolean verificaSeNellaMatriceCiSonoElementiMultipliDiAltri (int[][] M){ boolean multipli = false; // scorriamo la matrice for (int i = 0; i
Applicazione di prova e risultati
length; j++){ // verifichiamo che qualche element di M sia multiplo di qualche element della // stessa matrice col metodo // definito precedentemente if (isMultiplo (M[ i ][j], M)) // in caso affermativo ponimo a TRUE una variabile boolean multipli = true;} } return multipli; } /* Applicazione di prova */ public static void main(String[] args){ int[][] M = {{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}}; System.out.println(verificaSeNellaMatriceCiSonoElementiMultipliDiAltri (M)); // il risultato sarà TRUE System.out.println(); int[][] Q = {{31, 2, 3}, {5, 7, 11}, {13, 17, 19}}; System.out.println(verificaSeNellaMatriceCiSonoElementiMultipliDiAltri (Q)); //il risultato sarà FALSE } }
Domande da interrogazione
- Qual è lo scopo del metodo `verificaSeNellaMatriceCiSonoElementiMultipliDiAltri`?
- Come funziona il metodo di supporto `isMultiplo`?
- Quali sono i risultati delle applicazioni di prova fornite nel codice?
Il metodo verifica se una matrice di interi contiene elementi che sono multipli di altri elementi presenti nella stessa matrice, restituendo TRUE se esistono tali elementi, FALSE altrimenti.
Il metodo `isMultiplo` controlla se un numero è multiplo di almeno un altro elemento nella matrice, incrementando un contatore ogni volta che trova un multiplo. Se il contatore supera 1, restituisce TRUE, altrimenti FALSE.
L'applicazione di prova con la matrice M restituisce TRUE, mentre quella con la matrice Q restituisce FALSE, indicando che nella prima matrice ci sono elementi multipli di altri, mentre nella seconda no.