Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package lista4;
- import java.util.Random;
- public class Zad9 {
- private static void wyswietl(int[][] tab) {
- for(int[] a : tab) {
- for(int element : a) {
- System.out.print(element + "\t");
- }
- System.out.println();
- }
- }
- private static int[][] generujPrzekotna(int wielkosc) {
- int[][] tablica = new int[wielkosc][wielkosc];
- Random generator = new Random();
- for (int x = 0; x < wielkosc; x++) {
- for (int y = 0; y < wielkosc; y++) {
- if (x==y) {
- tablica[x][y] = x;
- }
- else {
- tablica[x][y] = generator.nextInt(100);
- }
- }
- }
- return tablica;
- } // Zadanie 7
- private static int[][] generujLosowa(int wielkosc) {
- int[][] tablica = new int[wielkosc][wielkosc];
- Random generator = new Random();
- for(int x = 0; x<wielkosc; x++) {
- for(int y = 0; y<wielkosc; y++) {
- tablica[x][y] = generator.nextInt(100);
- }
- }
- return tablica;
- } // Zadanie 8
- private static int[][] dodawanieMacierzy(int[][] taba, int[][] tabb) {
- int[][] tablica = new int[taba.length][taba.length];
- for(int x = 0; x<tablica.length; x++) {
- for(int y = 0; y<tablica.length; y++) {
- tablica[x][y] = taba[x][y] + tabb[x][y];
- }
- }
- return tablica;
- } // Zadanie 8
- private static void bubblesort(int[][] tablica, int wielkosc) {
- int temp;
- for (int i = 0; i < wielkosc; i++) {
- for (int j = 0; j < wielkosc; j++) {
- for (int m = 0; m < wielkosc - 1; m++) {
- if (tablica[i][j] > tablica[i][m]) {
- temp = tablica[i][j];
- tablica[i][j] = tablica[i][m];
- tablica[i][m] = temp;
- }
- }
- }
- }
- }
- private static void quickSort(int[] arr, int low, int high) {
- if (arr == null || arr.length == 0)
- return;
- if (low >= high)
- return;
- // pick the pivot
- int middle = low + (high - low) / 2;
- int pivot = arr[middle];
- // make left < pivot and right > pivot
- int i = low, j = high;
- while (i <= j) {
- while (arr[i] < pivot) {
- i++;
- }
- while (arr[j] > pivot) {
- j--;
- }
- if (i <= j) {
- int temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- i++;
- j--;
- }
- }
- // recursively sort two sub parts
- if (low < j)
- quickSort(arr, low, j);
- if (high > i)
- quickSort(arr, i, high);
- }
- public static void main(String[] args) {
- int wielkosc = 12;
- int[][] tablica1 = generujPrzekotna(wielkosc);
- // System.out.println("Tablica 1:");
- // wyswietl(tablica1);
- // System.out.println();
- int[][] tablica2 = generujLosowa(wielkosc);
- // System.out.println("Tablica 2:");
- // wyswietl(tablica2);
- // System.out.println();
- int[][] tablica3 = dodawanieMacierzy(tablica1,tablica2);
- System.out.println("Zsumowana tablica: ");
- wyswietl(tablica3);
- System.out.println();
- int[][] tablica4 = tablica3.clone();
- int[][] tablica5 = tablica3.clone();
- bubblesort(tablica4,wielkosc);
- System.out.println("Po bubblesorcie (malejaco):");
- wyswietl(tablica4);
- System.out.println();
- for(int[] i : tablica5) quickSort(i,0,wielkosc-1);
- System.out.println("Po quicksorcie (rosnaco):");
- wyswietl(tablica5);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement