Advertisement
alduncin

montantedotjava

Feb 25th, 2012
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.71 KB | None | 0 0
  1. import java.util.*;
  2. public class montante
  3. {
  4.     private Fracciones Matriz[][][];
  5.     private Fracciones PivAnt = new Fracciones(1);
  6.     private Fracciones PivAct;
  7.     public int iteracion=0;
  8.     //tamaño va a ser tomado con Matriz.length();
  9.     public montante(Fracciones Matriz[][][])
  10.     {
  11.         this.Matriz=Matriz;
  12.         this.PivAct = new Fracciones(Matriz[0][0][0].GetNumerador(),Matriz[0][0][0].GetDenominador());
  13.         }
  14.  
  15.     public void metodomontante ()
  16.     {
  17.     //crear elementos
  18.     /*  Fracciones Elemento  = new Fracciones();
  19.         Fracciones Elemento1 = new Fracciones();
  20.     Fracciones Elemento2 = new Fracciones();
  21.     Fracciones Espacio   = new Fracciones();
  22.     */
  23.     Fracciones num;
  24.  
  25.     int iteracion=0,i,j,k;
  26.     do
  27.         {
  28.  
  29.         for(j=0;j<this.Matriz[0][0].length;j++)//copia exactamente igual la fila
  30.             {
  31.             this.Matriz[iteracion+1][iteracion][j]= this.Matriz[iteracion][iteracion][j];
  32.             //la iteracion+1 de la dimencion "k" indica la matriz actual o la que sigue de llenar :)
  33.  
  34.             }
  35.         this.PivAct=this.Matriz[iteracion+1][iteracion][iteracion];
  36.         /*no ocupo llenar la columna de 0's por que ya esta lleno mi cubo todo en ceros desde el llenado en el main
  37.          *si no fuera ese el caso lo llenaria omitiendo las coordenada en diagonal de mis pivotes con la condicion(i !=iteracion)
  38.          *en el metodo tambien se va a omitir las coordenadas donde se encuentra la fila (i!=iteracion)&&(j!=iteracion)
  39.          *la suiguiente sucecion de for's  e  if's  comienza el metodo :3
  40.          */
  41.         for(i=0;i<this.Matriz[0].length;i++)
  42.             {
  43.             if(i!=iteracion)
  44.                 {
  45.                 num = new Fracciones(0);
  46.                 Matriz[iteracion+1][i][iteracion]=num;     
  47.                 //siempre si se ocupo :3
  48.                 }
  49.             }
  50.        
  51.         for(i=0;i<this.Matriz[0].length;i++)
  52.             {
  53.             for(j=0;j<this.Matriz[0][0].length;j++)
  54.                 {
  55.                 if(i!=iteracion)
  56.                     {
  57.                     if(j!=iteracion)
  58.                         {
  59.                         this.Matriz[iteracion][i][j]=Fracciones.division(
  60.                             Fracciones.resta(
  61.                                      Fracciones.multiplicacion(this.PivAct,this.Matriz[iteracion][i][j]),                              Fracciones.multiplicacion(this.Matriz[iteracion][iteracion][j],this.Matriz[iteracion][i][iteracion])),PivAnt);
  62.                                    
  63.                         /*              //aqui
  64.                 this.Matriz[iteracion+1][i][j] =
  65.            new Fracciones().division(
  66.                   new Fracciones().resta(
  67.                         new Fracciones().multiplicacion(
  68.                   this.PivAct,this.Matriz[iteracion][i][j]),
  69.                     new Fracciones().multiplicacion(
  70.                       this.Matriz[iteracion][iteracion][j],this.Matriz[iteracion][i][iteracion])
  71.                            ),this.PivAnt);
  72.         */ 
  73.             /*objeto que se va a dividir
  74.              *objeto que se va a restar
  75.              *objeto que se va a multiplicar
  76.              *multiplicandose :D
  77.              *objeto que se va a multiplicar y el resultado se restara con el de arribita
  78.              *multiplicandose D:
  79.              *dividiendose */
  80.  
  81.  
  82.             //elementos tipo Fracciones
  83.                         /* 
  84.                         Elemento1.multiplicacion(this.PivAct,this.Matriz[iteracion][i][j]);
  85.                         Elemento2.multiplicacion(this.Matriz[iteracion][iteracion][j],
  86.                                      this.Matriz[iteracion][i][iteracion]);
  87.                         Espacio.resta(Elemento1,Elemento2);
  88.                         Elemento.division(Espacio,this.PivAnt);
  89.                         //:D ... espacio=elemento-elemento1;  espacio/pivAnt     o.o
  90.                         this.Matriz[iteracion+1][i][j]=Elemento;//elemento tipo Fracciones    
  91.                         */
  92.                         }
  93.                     }
  94.  
  95.                 }
  96.             }
  97.         //imprime matriz
  98.         for(i=0;i<this.Matriz[0].length;i++)
  99.             {          
  100.             for(j=0;j<this.Matriz[0][0].length;j++)
  101.                 {  
  102.                 //why not this.Matriz ?
  103.                 this.Matriz[iteracion+1][i][j].printf();
  104.                 System.out.print("  ");
  105.                 }
  106.             System.out.print("\n");
  107.             }
  108.         System.out.println("\n\n");
  109.         PivAnt=PivAct;
  110.         iteracion ++;      
  111.  
  112.         }
  113.     while(iteracion < Matriz[0].length);//verificar limite
  114.     //matriz=GetMatriz();
  115.     //matriz.printf();
  116.  
  117.     }
  118.  
  119.     public Fracciones[][][] GetMatriz ()
  120.     {
  121.     return Matriz;
  122.     }
  123.     public Fracciones GetPivAnt()
  124.     {
  125.     return PivAnt;
  126.     }
  127.     public Fracciones GetPivAct()
  128.     {
  129.     return PivAct;
  130.     }
  131.    
  132.  
  133.     public static void main(String Args [])
  134.     {
  135.  
  136.     int tamanio,i,j,k;
  137.     Scanner readline = new Scanner(System.in);      
  138.    
  139.     System.out.print("Dame el orden de la matriz=");
  140.    
  141.     tamanio= readline.nextInt();
  142.     Fracciones Matriz[][][]= new Fracciones[tamanio+1][tamanio][tamanio*2];
  143.     String dato;
  144.  
  145.     //llenar la matriz
  146.     for(k=0;k<tamanio+1;k++)
  147.         {
  148.         for(i=0;i<tamanio;i++)
  149.             {
  150.             for(j=0;j<tamanio*2;j++)//._.
  151.                 {
  152.                
  153.                 if(k==0)
  154.                     {
  155.                     if(j>=tamanio)
  156.                         {
  157.                         if(i+tamanio ==j)
  158.                             {
  159.                             Matriz[k][i][j] =new Fracciones(1);//poner 1
  160.                             }
  161.                         else //aqui se llena la matriz identidad adyacente
  162.                             {              
  163.                             Matriz[k][i][j] = new Fracciones(0); //poner 0
  164.                             }
  165.                         }
  166.                     else//resto de la matriz que comience con k=0 [0][i][j]osea la primer matriz del cubo
  167.                         {
  168.                         System.out.print("Dame["+i+"]"+"["+j+"]:");
  169.                         dato = readline.next();
  170.                         Matriz[k][i][j] = new Fracciones(dato);
  171.                         }
  172.                     }
  173.                 else//las matricez que aun no se nececitan  se llenan de ceros
  174.                     {
  175.                     Matriz[k][i][j] = new Fracciones(0);
  176.                     }
  177.                 }
  178.             }
  179.         }
  180.     montante m =new montante (Matriz);    //crea montante como parametro envio la matriz con todo y sus datos
  181.    
  182.     //imprime la matriz
  183.     for(i=0;i<tamanio;i++)
  184.         {          
  185.         for(j=0;j<tamanio*2;j++)
  186.             {  
  187.             Matriz[0][i][j].printf();
  188.             System.out.print("  ");
  189.             }
  190.         System.out.print("\n");
  191.         }
  192.  
  193.     System.out.print("\nmatrizleght="+Matriz.length);
  194.     System.out.print("\nmatrizleght="+Matriz[0].length);
  195.     System.out.println("\nmatrizleght="+Matriz[0][0].length);
  196.     System.out.println("\n\n");
  197.    
  198.     //en m mando llamar metodomontante
  199.     m.metodomontante();
  200.  
  201.  
  202.  
  203.     }
  204.    
  205. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement