Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.99 KB | None | 0 0
  1. package lista4;
  2.  
  3. import java.util.Random;
  4.  
  5. public class Zad9 {
  6.  
  7.     private static void wyswietl(int[][] tab) {
  8.         for(int[] a : tab) {
  9.             for(int element : a) {
  10.                 System.out.print(element + "\t");
  11.             }
  12.             System.out.println();
  13.         }
  14.     }
  15.  
  16.     private static int[][] generujPrzekotna(int wielkosc) {
  17.         int[][] tablica = new int[wielkosc][wielkosc];
  18.         Random generator = new Random();
  19.         for (int x = 0; x < wielkosc; x++) {
  20.             for (int y = 0; y < wielkosc; y++) {
  21.                 if (x==y) {
  22.                     tablica[x][y] = x;
  23.                 }
  24.                 else {
  25.                     tablica[x][y] = generator.nextInt(100);
  26.                 }
  27.             }
  28.         }
  29.         return tablica;
  30.     }                       // Zadanie 7
  31.  
  32.     private static int[][] generujLosowa(int wielkosc) {
  33.         int[][] tablica = new int[wielkosc][wielkosc];
  34.         Random generator = new Random();
  35.         for(int x = 0; x<wielkosc; x++) {
  36.             for(int y = 0; y<wielkosc; y++) {
  37.                 tablica[x][y] = generator.nextInt(100);
  38.             }
  39.         }
  40.         return tablica;
  41.     }                          // Zadanie 8
  42.  
  43.     private static int[][] dodawanieMacierzy(int[][] taba, int[][] tabb) {
  44.         int[][] tablica = new int[taba.length][taba.length];
  45.  
  46.         for(int x = 0; x<tablica.length; x++) {
  47.             for(int y = 0; y<tablica.length; y++) {
  48.                 tablica[x][y] = taba[x][y] + tabb[x][y];
  49.             }
  50.         }
  51.         return tablica;
  52.     }        // Zadanie 8
  53.  
  54.     private static void bubblesort(int[][] tablica, int wielkosc) {
  55.         int temp;
  56.         for (int i = 0; i < wielkosc; i++) {
  57.             for (int j = 0; j < wielkosc; j++) {
  58.                 for (int m = 0; m < wielkosc - 1; m++) {
  59.                     if (tablica[i][j] > tablica[i][m]) {
  60.                         temp = tablica[i][j];
  61.                         tablica[i][j] = tablica[i][m];
  62.                         tablica[i][m] = temp;
  63.                     }
  64.                 }
  65.             }
  66.         }
  67.     }
  68.  
  69.     private static void quickSort(int[] arr, int low, int high) {
  70.         if (arr == null || arr.length == 0)
  71.             return;
  72.  
  73.         if (low >= high)
  74.             return;
  75.  
  76.         // pick the pivot
  77.         int middle = low + (high - low) / 2;
  78.         int pivot = arr[middle];
  79.  
  80.         // make left < pivot and right > pivot
  81.         int i = low, j = high;
  82.         while (i <= j) {
  83.             while (arr[i] < pivot) {
  84.                 i++;
  85.             }
  86.  
  87.             while (arr[j] > pivot) {
  88.                 j--;
  89.             }
  90.  
  91.             if (i <= j) {
  92.                 int temp = arr[i];
  93.                 arr[i] = arr[j];
  94.                 arr[j] = temp;
  95.                 i++;
  96.                 j--;
  97.             }
  98.         }
  99.  
  100.         // recursively sort two sub parts
  101.         if (low < j)
  102.             quickSort(arr, low, j);
  103.  
  104.         if (high > i)
  105.             quickSort(arr, i, high);
  106.     }
  107.  
  108.     public static void main(String[] args) {
  109.  
  110.         int wielkosc = 12;
  111.  
  112.         int[][] tablica1 = generujPrzekotna(wielkosc);
  113. //        System.out.println("Tablica 1:");
  114. //        wyswietl(tablica1);
  115. //        System.out.println();
  116.  
  117.         int[][] tablica2 = generujLosowa(wielkosc);
  118. //        System.out.println("Tablica 2:");
  119. //        wyswietl(tablica2);
  120. //        System.out.println();
  121.  
  122.         int[][] tablica3 = dodawanieMacierzy(tablica1,tablica2);
  123.         System.out.println("Zsumowana tablica: ");
  124.         wyswietl(tablica3);
  125.         System.out.println();
  126.  
  127.         int[][] tablica4 = tablica3.clone();
  128.         int[][] tablica5 = tablica3.clone();
  129.  
  130.         bubblesort(tablica4,wielkosc);
  131.         System.out.println("Po bubblesorcie (malejaco):");
  132.         wyswietl(tablica4);
  133.         System.out.println();
  134.  
  135.         for(int[] i : tablica5) quickSort(i,0,wielkosc-1);
  136.         System.out.println("Po quicksorcie (rosnaco):");
  137.         wyswietl(tablica5);
  138.     }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement