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);         
}