_stan
(320 punti)
1' di lettura

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