Concetti Chiave
- Il metodo creaMatriceInvertendoUnaRigaEunaColonna riceve una matrice quadrata di interi e due indici R e C.
- Restituisce una nuova matrice con due righe: la prima è l'inversione della riga R, la seconda è l'inversione della colonna C.
- Per la creazione della nuova matrice, il metodo utilizza cicli per riempire le righe in ordine inverso.
- Un esempio di matrice fornito illustra come funziona il metodo con input specifici.
- La classe include anche un metodo di visualizzazione per stampare la matrice risultante in console.
Tema 96
Scrivere un metodo creaMatriceInvertendoUnaRigaEunaColonna che riceve una matrice quadrata di interi M e due numeri R e C e restituisce una matrice contenente due righe, ottenute invertendo la riga R di M e la colonna C di M.Esempio di matrice
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 |
| 6 | 4 | 11 | 9 | 1 |
| 4 | 2 | 3 | 4 | 7 |
public class tema96{ public static int[][] creaMatriceInvertendoUnaRigaEunaColonna (int[][] M, int R, int C){ // approntiamo una nuova matrice con numero di righe pari a 2 e numero di // colonne pari a quelle di M int[][] nuovaMatrice = new int[2][M.length]; // scorriamo a ritroso la matrice per la prima operazione di riempimento for (int i = M.length-1; i >= 0; i--){ // riempiamo la prima riga della nuova matrice con gli elementi della riga R in // ordine inverso nuovaMatrice[0][M.length-i-1] = M[R][ i ];} // scorriamo a ritroso la matrice per la seconda operazione di riempimento for (int i = M.length-1; i >= 0; i--){ // riempiamo la seconda riga della nuova matrice con gli elementi della colonna // C in ordine inverso nuovaMatrice[1][M.length-i-1] = M[ i ][C];} return nuovaMatrice; } public static void visualizzaMatrice (int[][] M) { for (int i = 0; i
Applicazione di prova
println();} } /* 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}}; int[][] Q = creaMatriceInvertendoUnaRigaEunaColonna (M,1,3); visualizzaMatrice (Q); } }
Domande da interrogazione
- Qual è lo scopo del metodo creaMatriceInvertendoUnaRigaEunaColonna?
- Come viene costruita la nuova matrice all'interno del metodo?
- Qual è l'output dell'applicazione di prova fornita nel codice?
Il metodo creaMatriceInvertendoUnaRigaEunaColonna riceve una matrice quadrata di interi e due indici, R e C, e restituisce una nuova matrice contenente la riga R invertita e la colonna C invertita della matrice originale.
La nuova matrice è costruita con due righe: la prima riga è riempita con gli elementi della riga R in ordine inverso, mentre la seconda riga è riempita con gli elementi della colonna C in ordine inverso, utilizzando cicli che scorrono la matrice originale all'indietro.
L'applicazione di prova, utilizzando la matrice M e chiamando il metodo con R=1 e C=3, restituisce la matrice: ``` 6 4 11 9 1 4 2 3 4 7 ``` che rappresenta rispettivamente la riga 1 e la colonna 3 invertite.