Advertisement
pojler

Macierzaqki z naszej kpaki

Nov 8th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.42 KB | None | 0 0
  1.  package macierzaki;
  2.  
  3. public class Macierzaki {
  4.  
  5.     double[][] tab;
  6.     String name;
  7.     int wi, ko;
  8.  
  9.     Macierzaki(int w, int k, String n) {
  10.         name = n;
  11.         tab = new double[w][k];
  12.         wi = w;
  13.         ko = k;
  14.     }
  15.  
  16.     Macierzaki(int w, String n) {
  17.         this(w, w, n);
  18.     }
  19.  
  20.     Macierzaki(int w, int k) {
  21.         this(w, k, "");
  22.     }
  23.  
  24.     Macierzaki(int w) {
  25.         this(w, w, "");
  26.     }
  27.  
  28.     Macierzaki wytnijWiersz(int ww) {
  29.         Macierzaki result = new Macierzaki(tab.length -1,tab[0].length, name);
  30.         for (int i = 0; i < ww; i++) {
  31.             for (int j = 0; j < tab[0].length; j++) {
  32.                     result.tab[i][j] = this.tab[i][j];
  33.  
  34.              
  35.             }
  36.         }
  37.         for (int i=ww; i < tab.length -1; i++) {
  38.             for (int j = 0; j < tab[0].length; j++) {
  39.                
  40.                     result.tab[i][j] = this.tab[i+1][j];
  41.  
  42.                
  43.             }
  44.         }
  45.         return result;
  46.     }
  47.  
  48.     Macierzaki wytnijKolumne(int wk) {
  49.         Macierzaki result = new Macierzaki(tab.length,tab[0].length-1, name);
  50.         for (int i = 0; i < tab.length; i++) {
  51.             for (int j = 0; j < wk; j++) {
  52.                
  53.                    result.tab[i][j] = this.tab[i][j];
  54.             }
  55.             for (int j = wk; j <tab[0].length-1; j++)
  56.             {
  57.                  result.tab[i][j] = this.tab[i][j+1];
  58.             }
  59.         }
  60.         return result;
  61.     }
  62.  
  63.     Macierzaki wytnijWierszeKolumny(int ww, int wk) {
  64.         Macierzaki temp = this.wytnijWiersz(ww);
  65.         return temp.wytnijKolumne(wk);
  66.     }
  67.  
  68.     double det() {
  69.         double result = 0.0;
  70.        
  71.             for (int j = 0; j < this.tab[0].length; j++) {
  72.                 if (this.tab.length == 1 && this.tab[0].length == 1) {
  73.                     result = tab[0][0];
  74.                 } else {
  75.                     result += tab[0][j] *Math.pow(-1,j+2)* this.wytnijWierszeKolumny(0, j).det();
  76.                 }
  77.  
  78.             }
  79.        
  80.         return result;
  81.  
  82.     }
  83.  
  84.     public static void main(String[] args) {
  85.         Macierzaki m1 = new Macierzaki(3, 3);
  86.         m1.tab[0][0] = 1;
  87.         m1.tab[0][1] = 8;
  88.         m1.tab[0][2] = 32;
  89.         m1.tab[1][0] = 15;
  90.         m1.tab[1][1] = 7;
  91.         m1.tab[1][2] = 4;
  92.         m1.tab[2][0] = 2;
  93.         m1.tab[2][1] = 5;
  94.         m1.tab[2][2] = 2;
  95.         System.out.println(m1.det());
  96.  
  97.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement