Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/11/2012, 15:57
Javieer-G
 
Fecha de Ingreso: diciembre-2008
Mensajes: 50
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Matrices triangulares

¡Qué tonto! El problema radicaba en el método main, que habia puesto que independientemente del resultado, me dijese que SÍ era triangular jajaja

Os dejo mi solución:

Código JAVA:
Ver original
  1. import java.util.*;
  2.  
  3. public class ClassEnsayo {
  4.  
  5.     /**
  6.      * Nombre:        Ejercicio 02, Hoja de Arrays y métodos
  7.      * Autor:         Javier García Manzano
  8.      * Fecha y hora:  06/11/2012, 22:53
  9.      * Hacer un programa en java que implemente tres métodos, uno que verifique si la
  10.      * matriz es triangular superior, el segundo método verificará si la matriz es triangular
  11.      * inferior y por último, un método que verifique si se trata de una matriz diagonal. El
  12.      * rango de la matriz deberá ser ingresado por teclado (n x m).
  13.      */
  14.  
  15.     public static void main(String[] args) {
  16.        
  17.         Scanner t= new Scanner(System.in);
  18.        
  19.        
  20.         System.out.println("Cuántas filas y columnas tendrá la matriz?: ");
  21.         int dim = t.nextInt();
  22.        
  23.         int x[][] = new int[dim][dim];
  24.        
  25.         System.out.println("Introduce datos: ");
  26.         for(int i=0; i<dim; i++){
  27.             for(int j=0; j<dim; j++)
  28.                 x[i][j] = t.nextInt();}
  29.  
  30.         if(ClassEnsayo.triangularInf(x)) System.out.println("Es Triangular inferior");
  31.         else if(ClassEnsayo.triangularSup(x)) System.out.println("Es Triangular superior");
  32.         else System.out.println("No es triangular");
  33.        
  34.         t.close();
  35.     }
  36.    
  37.     public static boolean triangularInf(int x[][]) {
  38.         boolean esTriangular = true;
  39.        
  40.         for(int i=0; i<x.length; i++){
  41.             for(int j=0; j<i; j++){
  42.                 if(x[i][j] != 0){
  43.                     esTriangular = false;
  44.                     break;
  45.                 }
  46.                
  47.             }
  48.            
  49.         }
  50.        
  51.         return esTriangular;
  52.        
  53.     }
  54.    
  55.     public static boolean triangularSup(int x[][]) {
  56.         boolean esTriangular = true;
  57.        
  58.         for(int i=0; i<x.length; i++){
  59.             for(int j=0; j<i; j++){
  60.                 if(x[j][i] != 0){
  61.                     esTriangular = false;
  62.                     break;
  63.                 }
  64.                
  65.             }
  66.            
  67.         }
  68.        
  69.         return esTriangular;
  70.        
  71.     }
  72.  
  73.  
  74. }