Buonasera a tutti,
Dovevo fare un programma che mi diceva se una matrice è triangolaresup( 1 1 1 ),
( 0 2 2 )
( 0 0 3 )
restituendo 1,poi triangolareinferiore( 1 0 0 ),restituendo -1 ed infine
( 2 2 0 )
( 3 3 3 )
diagonale( 1 2 3 ),restituendo 2 ed se non era nulla il programma deve restituire -2
( 2 1 3 )
( 3 2 1 )
La matrice per semplicità lo scritta io ma poi la vorrò inserire da input.
Ecco il mio codice che mi restituisce +1, -1, 0, non so il perchè
Saluti e grazie.
ecco il codice
codice:
public class MatriceTriangInfSupDiag { public static boolean TriangSup(int[][] matrice) { for(int i=1;i<matrice.length;i++) { for(int j=0;j<matrice.length-1;i++) { if(matrice[1][0]==0) { if(matrice[2][0]==0) { if(matrice[2][1]==0) { return true; } } } } } return false; } public static boolean TriangInf(int[][] matrice) { for(int i=0;i<matrice.length;i++) { for(int j=0;j<matrice.length;j++) { if(matrice[0][1]==0) { if(matrice[0][2]==0) { if(matrice[1][2]==0) { return true; } } } } } return false; } public static boolean Diagonale(int[][] matrice) { for(int i=0;i<matrice.length;i++) { for(int j=0;j<matrice.length;j++) { if(matrice[0][0]==1) { if(matrice[1][1]==1) { if(matrice[2][2]==1) { return true; } } } } } return false; } public static void main (String[] args) { int [][] matrice = {{1,0,0},{0,1,0},{0,0,1}}; if(TriangSup(matrice)) System.out.println("+1"); if(TriangInf(matrice)) System.out.println("-1"); if(Diagonale(matrice)) System.out.println("0"); else System.out.println("2"); } }