Aiuto esercizio Java

Pubblicità

Core23

Nuovo Utente
Messaggi
1
Reazioni
0
Punteggio
24
davvero questa programmazione non mi vuole entrare in testa,ho provato a procedere nello svolgere l'esercizio,ma non appena mi concentro mi perdo subito ed entro nel panico... :shock:
l'esercizio dice questo:

Scrivere un metodo che prenda in input tre matrici, con le stesse dimensioni, di double e restituisca un boolean che indichi se le tre matrici presentano (in qualunque posizione) una colonna comune.

ora quello che non capisco,è come fare a confrontare solo e soltanto le colonne di ogni matrice prese una a una?ad esempio,come confrontare ogni singola colonna di una matrice A con ogni singola colonna di una matrice B e C e poi lo stesso con le colonne di B e C?non ci arrivo proprio e non ho idea di come procedere.inoltre avrei bisogno di esercitarmi con esercizi di questo tipo,ma se non riesco a farne nemmeno uno non penso di riuscire a farne altri,cosa mi consigliate di leggere? :help::cry:
 
Si può provare

Più che legato a Java il tuo è un problema legato all'algoritmo da implementare.

Diciamo quindi le tre matrici:
X,Y,Z di m righe ed n colonne. Il nostro algoritmo deve confrontare le colonne di X con quelle di Y. Se una o più colonne risultano uguali, queste colonne presenti in X vanno ricercate in Z.

Lo pseudo codice riccamente commentato dovrebbe chiarire il procedimento. Non l'ho provato, non sarà il metodo migliore, ma è un inizio.

Codice:
for xc=0 to n-1     {Con la colonna XC di X}
   for yc=0 to n-1  {e per ogni colonna di Y}
      uguali=true     {verifico}
      for r=0 to m-1 {procedendo riga per riga}
         if X[r,xc]!=Y[r,yc] then {la disuguaglianza degli elementi}
            uguali=false {se una coppia è diversa le colonne sono diverse}
         endif
      endfor
      if uguali then {se uguali è true allora la colonna XC di X è presente in Y}
         for zc=0 to n-1 {la cerco quindi in ogni colonna di Z}
            uguali=true {verifico}
            for r=0 to m-1 {procedendo riga per riga}
               if x[r,xc]!=z[r,zc] then {se ci sono elementi diversi}
                  uguali=false  {nel qual caso le colonne sono diverse}
               endif
            endfor {se uguali è true alloa la colonna XC di X, presente in Y, è presente in una qulache colonna di Z}
            if uguali then return true {quindi XC di X è presente anche in Y e Z}
         endfor
      endif
   endfor
endfor
return false {se termino senza successo allora non ci sono colonne comuni}
 
Pubblicità
Pubblicità
Indietro
Top