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
allora creaMatriceInvertendoUnaRigaEunaColonna (M,1,3)
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

  1. Qual è lo scopo del metodo creaMatriceInvertendoUnaRigaEunaColonna?
  2. 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.

  3. Come viene costruita la nuova matrice all'interno del metodo?
  4. 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.

  5. Qual è l'output dell'applicazione di prova fornita nel codice?
  6. 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.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community