You are on page 1of 2

package arreglos;

import java.util.*;
public class Eliminacion_gausiana {

public static void main(String[] args) {


Scanner scan = new Scanner(System.in);
System.out.println("ingrese la cantidad de variables ");
double variables=scan.nextInt();
double c [][] = new double [(int)variables][(int)variables+1];
ingresar(c);
imprimi(c);
resolver(c,variables);

}
public static double [][] ingresar(double c [][]){
Scanner scan = new Scanner(System.in);
for (int i=0;i<c.length;i++){
System.out.println("ingrese los coeficientes de la ecuaci�n Nro
"+ (i+1));
for(int j=0;j<c[i].length;j++)
c [i][j]=scan.nextDouble();
}
return c;
}
public static void imprimi( double a[] []){
for(int i = 0;i<a.length;i++){
System.out.println();
for ( int j =0;j<a[i].length;j++)
System.out.print(a[i][j]+"\t");
}
}
public static double [][] pivote(double c[][]){
double a=0;
for(int l=0;l<c[0].length;l++){
if(c[0][l]!=0){
a=c[0][l];
break;
}
}
for(int j =0;j<c[0].length;j++){
c[0][j]=(double)c[0][j]/a;
}
return c;
}
public static double[][] sumar(double c[][], int a){
double q=0;
for(int i = 0;i+1<c.length;i++){
for(int p=0;p<c[i].length;p++){
if(a!=0){
if(c[i+1][p]!=0&&c[i+1][p]!=1){
q=c[i+1][p];//por el que vamos a multiplicar
break;
}
}
else{
q=c[i+1][p];
break;
}

System.out.println(q);
int z=0;//para que se mantenga en la fila 01;
for (int j=0;j<c[i].length;j++)
c[i+1][j]+=c[z][j]*(-q);
}
return c;
}

/*public static double[][] sumar(double c[][]){


double a=0;
for(int i = 0;i+1<c.length;i++){
for(int p=0;p<c[i].length;p++){
if (c[i+1][p]!=0 && c[i+1][p]!=1)

}
}
}*/
public static double [][]cambiofilas (double c[][]){
double [][]a = new double[c.length][c[0].length];
for(int i = 0;i<c.length;i++)
for(int j =0;j<c[i].length;j++)
if((i)!=c.length-1)
a[i][j]=c[i+1][j];
else
a[i][j]=c[0][j];
return a;
}
public static void resolver(double [][]c,double p){
int a=0;
for (int i=0;i<p;i++){
pivote(c);
System.out.println("\n");
imprimi(c);
System.out.println("\n");
sumar(c,a);
imprimi(c);
System.out.println("\n");
c=cambiofilas(c);
imprimi(c);
a++;
}
}

You might also like