Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 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.
- 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
- 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
- Modul = sqrt(niz[i].re^2+niz[i].im^2)
- */
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.lang.Math;
- public class tomislav {
- public static float [] Sortiraj(float [] niza) {
- for(int i=0;i<niza.length-1;i++) {
- for(int j=i+1;j<niza.length;j++) {
- //BUBBLE SORT SCHECK
- if(niza[i] > niza[j]) {
- //BUBBLE SORT
- float tmp = niza[i];
- niza[i] = niza[j];
- niza[j] = tmp;
- }
- }
- }
- //vrakjame niza na sortirani moduli
- return niza;
- }
- public static float [] Modul(Kompleksni [] niza, int N) {
- //pronaogjame modul
- //float resultArray[N]
- float [] resultArray = new float [N];
- for(int i=0;i<N;i++) {
- //isto kako vo CPP
- Kompleksni curr = niza[i];
- //int realni = pow(curr.realni,2);
- //int imaginarni = pow(curr.imaginarni,2);
- int realni = (int) Math.pow(curr.realni, 2);
- int imaginarni = (int) Math.pow(curr.imaginarni, 2);
- //float result = sqrt(realni+imaginarni);
- float result = (float) Math.sqrt(realni+imaginarni);
- //isto kako vo CPP
- resultArray[i] = result;
- }
- //vrakjame niza na moduli
- return resultArray;
- }
- static class Kompleksni{
- protected int realni;
- protected int imaginarni;
- public Kompleksni() {}
- public Kompleksni(int realni, int imaginarni) {
- this.realni=realni;
- this.imaginarni=imaginarni;
- }
- public String toString() {
- return realni + " " + imaginarni;
- }
- }
- public static void main(String[] args) throws NumberFormatException, IOException {
- BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
- System.out.println("Vnesete N");
- //cin>>n
- String line = in.readLine();
- int N = Integer.parseInt(line);
- //Kompleksni [] niza; DYNAMIC
- Kompleksni [] niza = new Kompleksni [N];
- for(int i=0;i<N;i++) {
- System.out.println("Vnesi gi broevite");
- //cin>>realni>>imaginarni;
- int realni = Integer.parseInt(in.readLine());
- int imaginarni = Integer.parseInt(in.readLine());
- //Komepleksni nov(realni,imaginarni);
- Kompleksni nov = new Kompleksni(realni, imaginarni);
- //isto kako vo CPP
- niza[i] = nov;
- }
- //Baranje na moduli na niza
- float [] modulNiza = Modul(niza, N);
- //Pecatanje na niza na vneseni moduli
- System.out.println("MODULITE SE: ");
- for(int i=0;i<N;i++) {
- System.out.println(modulNiza[i]);
- }
- //Sortiranje na moduli vo niza Bubble Sort
- modulNiza = Sortiraj(modulNiza);
- //Pecatanje na niza na sortirani moduli
- System.out.println("Sortiranite moduli se: ");
- for(int i=0;i<N;i++) {
- System.out.println(modulNiza[i]);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement