Ciao a tutti e buon anno!!!!avrei un problemino con questo metodo java!!!
la traccia è:
Scrivere un metodo verifica che riceve in ingresso una matrice A ed un vettore V e restituisce true se ciascun elemento del vettore è presente esattamente almeno due volte nella matrice e false altrimenti.
Io ho provato a risolverlo così:
codice:
public class esercio32 {
public static int contaripetuti(int[][]m,int x,int f){
int cont=0;
for (int i=0;i<m.length;i++){
for (int j=0;j<m[0].length;j++)
if (m[i][j]==x && j!=f)
cont++;
}
return cont;
}
public static boolean verifica (int[][]a,int []v){
for (int i=0;i<m.length;i++){
for (int j=0;j<m[0].length;j++)
if (contaripetuti(a,v[i],j)!=2)
return false;
}
return true;
}
public static void main(String[] args) {
int[][]a={{1,0,3,9,1},{1,2,0,0,3},{0,1,6,2,1,2},{9,2,4,0,1},{0,5,5,1,1,8}};
int[]v={3,5,9};
boolean b=verifica(a,v);
System.out.print(b);
}
}
ho utilizzato un metodo ausiliario pensando di semplificare la cosa..
potreste dirmi dove sbaglio??o proporre una soluzione alternativa??
vi ringrazio anticipatamente!!!