la funzione corretta dovrebbe essere così:
codice:bool unitaria(int mat[][3], int i, int j, int n) { if (i>n) return true; else if (((i==j) && (mat[i][j]!=1)) || ((i!=j) && (mat[i][j]!=0))) return false; else if (j>n) return unitaria (mat, i+1,0,n); else return unitaria (mat,i,j+1,n); }