HayCZ

MATICE_CLASS

Apr 26th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.09 KB | None | 0 0
  1. package testsimerdavzor;
  2.  
  3. public class Matice {
  4.  
  5.     private final int[][] pole;
  6.  
  7.     public Matice(int pocetRadku, int pocetSloupcu) {
  8.         if (pocetRadku >= 0 && pocetSloupcu >= 0) {
  9.             pole = new int[pocetRadku][pocetSloupcu];
  10.         } else {
  11.             pole = null;
  12.             System.out.print("Matici nelze vytvořit. Chybné zadání!");
  13.         }
  14.     }
  15.  
  16.     public Matice(int pocetRadku) {
  17.         this(pocetRadku, pocetRadku);
  18.     }
  19.  
  20.     public void naplnMatici(int min, int max) {
  21.         for (int i = 0; i < pole.length; i++) {
  22.             for (int j = 0; j < pole[i].length; j++) {
  23.                 pole[i][j] = (int) Math.round(Math.random() * (max - min) + min);
  24.             }
  25.         }
  26.     }
  27.  
  28.     @Override
  29.     public String toString() {
  30.         StringBuilder str = new StringBuilder();
  31.         for (int i = 0; i < pole.length; i++) {
  32.             for (int j = 0; j < pole[i].length; j++) {
  33.                 str.append(String.format("%4d ", pole[i][j]));
  34.             }
  35.             str.append('\n');
  36.         }
  37.         return str.toString();
  38.     }
  39.  
  40.     public Matice transponujMatici() {
  41.         Matice m = new Matice(this.pole[0].length, this.pole.length);
  42.         for (int i = 0; i < m.pole.length; i++) {
  43.             for (int j = 0; j < m.pole[i].length; j++) {
  44.                 m.pole[i][j] = this.pole[j][i];
  45.             }
  46.         }
  47.         return m;
  48.     }
  49.  
  50.     public int[] hlavniDiagonala() {
  51.         int delka = (this.pole.length < this.pole[0].length) ? this.pole.length : this.pole[0].length;
  52.         int[] poleDiagonala = new int[delka];
  53.         for (int i = 0; i < delka; i++) {
  54.             poleDiagonala[i] = this.pole[i][i];
  55.         }
  56.         return poleDiagonala;
  57.     }
  58.    
  59.     public int[] vedlejsiDiagonala(){
  60.         int delka = (this.pole.length < this.pole[0].length) ? this.pole.length : this.pole[0].length;
  61.         int[] poleDiagonala = new int[delka];
  62.         for (int i = 0; i < delka; i++) {
  63.             poleDiagonala[i] = this.pole[i][delka - i-1];
  64.         }
  65.         return poleDiagonala;
  66.     }
  67.    
  68.     public Matice setridSloupec(int sloupec)
  69.     {
  70.         Matice m1 = this;
  71.         for (int i = 0; i < m1.pole.length - 1; i++) { //Cyklus s určitým počtem opakování
  72.             for (int j = 0; j < m1.pole.length - i - 1; j++) { //Cyklus s určitým počtem opakování
  73.                 if (m1.pole[j][sloupec] < m1.pole[j + 1][sloupec]) {
  74.                     int tmp = m1.pole[j][sloupec];
  75.                     m1.pole[j][sloupec] = m1.pole[j + 1][sloupec];
  76.                     m1.pole[j + 1][sloupec] = tmp;
  77.                 }
  78.             }
  79.         }
  80.         return m1;
  81.     }
  82.    
  83.     public Matice setridRadek(int radek)
  84.     {
  85.         Matice m1 = this;
  86.         for (int i = 0; i < pole[0].length - 1; i++) {
  87.         for (int j = 0; j < pole[0].length - i - 1; j++) {
  88.             if(pole[radek][j] < pole[radek][j+1]){
  89.                 int tmp = pole[radek][j];
  90.                 pole[radek][j] = pole[radek][j+1];
  91.                 pole[radek][j+1] = tmp;
  92.             }
  93.         }
  94.     }
  95.         return m1;
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment