Java: test sottomatrice di una matrice

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, all’interno 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 // dall’elemento  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 quest’ultima 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 all’interno di M // e due interi che rappresenteranno di volta in volta le coordinate // dell’elemento 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 l’esigenza 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 < x+Q.length; i++){ int col = 0; for (int j = y; j 

Commenti

commenti