Advertisement
brsjak

OOP - Modul Bubble Sort

Apr 5th, 2020
549
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.62 KB | None | 0 0
  1. /*
  2. Napišite program koji u dinamički alocirano polje učitava N kompleksnih brojeva te ih ispisuje sortirane po vrijednosti njihovih modula. • Modul kompleksnog broja je udaljenost kompleksnog broja od ishodišta i treba se računati globalnom funkcijom Modul. • Kompleksni broj treba predstaviti klasom Kompleksni koja sadrži realni i imaginarni dio (realni brojevi). • Za sortiranje kompleksnih brojeva napišite funkciju Sortiraj koja će sortirati kompleksne brojeve upotrebom BubbleSort algoritma.
  3.  
  4. Primjer izvođenja Unesi N: 3 niz[0].re = 3 niz[0].im = -1 niz[1].re = 1 niz[1].im = 1 niz[2].re = 2 niz[2].im = -3 Z(1+1i)  Modul: 1.41421 Z(3-1i)  Modul: 3.16228 Z(2-3i)  Modul: 3.60555
  5.  
  6. Nakon što ste zadatak riješili upotrebom dinamički alociranog polja zamijenite ga vektorom te sortirajte upotrebom funkcije std::sort (zaglavlje algorithm). Također, globalnu funkciju Modul implementirajte kao metodu klase Kompleksni
  7.  
  8. Modul = sqrt(niz[i].re^2+niz[i].im^2)
  9. */
  10.  
  11. import java.io.BufferedReader;
  12. import java.io.IOException;
  13. import java.io.InputStreamReader;
  14. import java.lang.Math;
  15.  
  16. public class tomislav {
  17.    
  18.     public static float [] Sortiraj(float [] niza) {
  19.        
  20.         for(int i=0;i<niza.length-1;i++) {
  21.             for(int j=i+1;j<niza.length;j++) {
  22.                
  23.                 //BUBBLE SORT SCHECK
  24.                 if(niza[i] > niza[j]) {
  25.                     //BUBBLE SORT
  26.                     float tmp = niza[i];
  27.                     niza[i] = niza[j];
  28.                     niza[j] = tmp;
  29.                 }
  30.             }
  31.         }
  32.        
  33.         //vrakjame niza na sortirani moduli
  34.         return niza;
  35.     }
  36.    
  37.     public static float [] Modul(Kompleksni [] niza, int N) {
  38.         //pronaogjame modul
  39.        
  40.         //float resultArray[N]
  41.         float [] resultArray = new float [N];
  42.        
  43.         for(int i=0;i<N;i++) {
  44.             //isto kako vo CPP
  45.             Kompleksni curr = niza[i];
  46.            
  47.             //int realni = pow(curr.realni,2);
  48.             //int imaginarni = pow(curr.imaginarni,2);
  49.             int realni = (int) Math.pow(curr.realni, 2);
  50.             int imaginarni = (int) Math.pow(curr.imaginarni, 2);
  51.            
  52.             //float result = sqrt(realni+imaginarni);
  53.             float result = (float) Math.sqrt(realni+imaginarni);
  54.            
  55.             //isto kako vo CPP
  56.             resultArray[i] = result;
  57.         }
  58.        
  59.         //vrakjame niza na moduli
  60.         return resultArray;
  61.     }
  62.    
  63.     static class Kompleksni{
  64.         protected int realni;
  65.         protected int imaginarni;
  66.        
  67.        
  68.         public Kompleksni() {}
  69.         public Kompleksni(int realni, int imaginarni) {
  70.             this.realni=realni;
  71.             this.imaginarni=imaginarni;
  72.         }
  73.        
  74.         public String toString() {
  75.             return realni + " " + imaginarni;
  76.         }
  77.     }
  78.    
  79.     public static void main(String[] args) throws NumberFormatException, IOException {
  80.         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  81.         System.out.println("Vnesete N");
  82.        
  83.         //cin>>n
  84.         String line = in.readLine();
  85.         int N = Integer.parseInt(line);
  86.        
  87.         //Kompleksni [] niza; DYNAMIC
  88.         Kompleksni [] niza = new Kompleksni [N];
  89.        
  90.         for(int i=0;i<N;i++) {
  91.            
  92.             System.out.println("Vnesi gi broevite");
  93.             //cin>>realni>>imaginarni;
  94.             int realni = Integer.parseInt(in.readLine());
  95.             int imaginarni = Integer.parseInt(in.readLine());
  96.            
  97.             //Komepleksni nov(realni,imaginarni);
  98.             Kompleksni nov = new Kompleksni(realni, imaginarni);
  99.            
  100.             //isto kako vo CPP
  101.             niza[i] = nov;
  102.         }
  103.        
  104.         //Baranje na moduli na niza
  105.         float [] modulNiza = Modul(niza, N);
  106.        
  107.         //Pecatanje na niza na vneseni moduli
  108.         System.out.println("MODULITE SE: ");
  109.         for(int i=0;i<N;i++) {
  110.             System.out.println(modulNiza[i]);
  111.         }
  112.        
  113.         //Sortiranje na moduli vo niza Bubble Sort
  114.         modulNiza = Sortiraj(modulNiza);
  115.        
  116.         //Pecatanje na niza na sortirani moduli
  117.         System.out.println("Sortiranite moduli se: ");
  118.         for(int i=0;i<N;i++) {
  119.             System.out.println(modulNiza[i]);
  120.         }
  121.     }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement