Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public int det(int tab[][]) {
- int suma=0;
- if(tab[0].length!=tab.length) {
- System.out.println("ZLA MACIERZ!!");
- return 0;
- }
- if(tab.length==1) // pojedyncza
- return tab[0][0];
- else if(tab.length==2) { // zwykle 2x2
- suma=tab[0][0]*tab[1][1]-tab[0][1]*tab[1][0];
- return suma;
- }
- else if(tab.length==3) { // Sarrus
- suma=tab[0][0]*tab[1][1]*tab[2][2]+tab[0][1]*tab[1][2]*tab[2][0]+tab[0][2]*tab[1][0]*tab[2][1]-tab[0][2]*tab[1][1]*tab[2][0]-tab[0][0]*tab[1][2]*tab[2][1]-tab[0][1]*tab[1][0]*tab[2][2];
- return suma;
- }
- else{
- int tb[][]=new int[tab.length-1][tab.length-1];
- for( double i=0;i<tab.length;i++) {
- int m=0, l=0;
- for(int j=0;j<tab.length;j++) {
- for(int k=0;k<tab.length;k++) {
- if(j==0||k==i)continue;
- else{
- tb[l][m]=tab[j][k];
- m++;
- if(m==(tab.length-1)) {
- m=0;
- l++;
- }
- }
- }
- }
- int x=det(tb);
- suma+=(x*tab[0][(int)i]*(int)(Math.pow(-1,i)));
- }
- return suma;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment