_stan
Ominide
1 min. di lettura
Vota

Concetti Chiave

  • Il metodo verifica se una matrice di dimensione minore è contenuta in un'altra matrice più grande, mantenendo l'ordine e la disposizione attigua degli elementi.
  • Viene utilizzato un metodo di supporto per estrarre sottomatrici dalla matrice più grande, a partire da una posizione specifica.
  • Il metodo estraiMatrice genera una sottomatrice dalle dimensioni della matrice minore, per confrontarla con quest'ultima.
  • Le coordinate di partenza per l'estrazione della sottomatrice sono determinate dagli indici dei cicli del metodo principale.
  • I cicli di estrazione sono limitati dalle dimensioni della matrice minore, garantendo che gli indici non superino i limiti definiti.

Tema 106

Scrivere un metodo verificaCheUnaMatriceSiaContenutaInUnAltraMatrice che riceve in ingresso due matrici di interi M e Q e restituisce TRUE se la matrice di dimensione minore interamente contenuta nella matrice di dimensione maggiore. Gli elementi della matrice minore, allinterno della maggiore, devono essere disposti nello stesso ordine e in maniera attigua.

Ad esempio, siano M e Q le matrici cos costituite
1 2 3 4
5 6 7 8
4 1 2 9
2 3
6 7
allora verificaCheUnaMatriceSiaContenutaInUnAltraMatrice (M, Q) = TRUE

 public class tema106{ // approntiamo un metodo di supporto per estrarre sottomatrici a partire // dallelemento  di posizione  x,y // tale metodo ci servir per isolare momentaneamente dalla matrice di // dimensione maggiore, delle // sottomatrici di dimensione pari alla matrice di dimensione minore, per // confrontarla con gli elementi // di questultima public static int[][] estraiMatrice (int[][] M, int[][] Q, int x, int y){ // questo metodo riceve in ingresso la matrice M in cui bisogna fare la ricerca // la matrice Q che va ricercata allinterno di M // e due interi che rappresenteranno di volta in volta le coordinate // dellelemento dal quale bisogner // iniziare a estrarre la sottomatrice // i due interi, cio le coordinate, saranno acquisiti dagli indici dei cicli // con cui, nel metodo generale // sar perlustrata la matrice di partenza int [][] N = new int[Q.length][Q[0].length]; int riga = 0; // avendo lesigenza di estrarre sottomatrici della dimensione di Q, // naturalmente i due cicli non // devranno superare le dimensioni della matrice Q, perci gli indici non // andranno oltre i valori, // rispettivamente di x+Q.length e y+Q.length for (int i = x; i    

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community