1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
| import java.util.Scanner.*;
import java.util.*;
public class cramersrule{
double A[][];
double m[][];
int N = 9;
double B[];
public void input(double Valtab[][]){ // permet davoir les systemes que nous cherchons pour pouvoir les resoudres ensuite
Scanner s = new Scanner(System.in);
//System.out.println("enter no of equations of matrix");
A = new double[N][];
for(int i=0;i<N;i++) {
A[i]= new double[N];
}
//System.out.println("enter the co-efficient of equations");
for(int i=0;i<N;i++){
//System.out.println("enter the co-efficient of equation" + (i+1));
for(int j=0;j<N;j++){
//double k=s.nextDouble();
A[i][j] = Valtab[j][i];
}
}
B = new double[N];
//System.out.println("enter the RHS of equations");
for(int i=0;i<N;i++){
//System.out.println("enter the RHS of equations" + (i+1));
B[i] = 0;
}
}
public double determinant(double A[][],int N){
double det=0;
double res;
if(N == 1)
res = A[0][0];
else if (N == 2){
res = A[0][0]*A[1][1] - A[1][0]*A[0][1];
}else{
res=0;
for(int j1=0;j1<N;j1++){
m = new double[N-1][];
for(int k=0;k<(N-1);k++)
m[k] = new double[N-1];
for(int i=1;i<N;i++){
int j2=0;
for(int j=0;j<N;j++){
if(j == j1)
continue;
m[i-1][j2] = A[i][j];
j2++;
}
}
res += Math.pow(-1.0,1.0+j1+1.0)* A[0][j1] * determinant(m,N-1);
}
}
return res;
}
public double[] cramers(double A[][],double B[]){ // permet de resoudre les systemes
double temp[][] = new double[N][N];
double x[] = new double[N];
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
for(int k=0;k<N;k++){
if(k == i){
temp[j][k] = B[j];
}else{
temp[j][k] = A[j][k];
}
}
x[i]=determinant(temp,N)/determinant(A,N);
}
}
for(int i=0;i<N;i++){
System.out.println("x"+(i+1)+"="+x[i]);
//System.out.print(;}
}
return x;
}
public static void main(String args[]){
double res;
double tableau[][]={{1,9,5,2,5,5,6,7,8},{100,4,5,7,7,1,5,7,8},{1,2,2,5,5,1,7,4,5},{2,5,8000,8,9,2,5,47,5},{5,7,1,5,2,2,5,8,7},{100,4,5,7,7,1,4,52,2},{1,2,2,5,5,1,45,2,8},{2,5,8,8,9,2,5,4,7},{5,7,1,5,2,1,4,7,5}};
//{{3,1,2},{3,4,5},{6,7,8}};
cramersrule d = new cramersrule();
d.input(tableau);
d.cramers(d.A,d.B);
}
} |
Partager