Jak stworzyc program ktory porownuje liczby i wyswietla je w kolejnosci np. od najmniejszej.

0

Witam, mam problem z takim cwiczeniem:

"Wykonaj program, który porównuje trzy liczby ze sobą i wyświetla je w kolejności od najmniejszej do największej."

Cwiczenie to bylo w poczatkowych lekcjach przy instrukcji "if...else" ale co bym nie napsial wyswietla jakies bzdury. instrukcja "if" nie moze porownac jednej zmiennej do dwoch innych - if (a > b, c) {}. Czy ktos ma pomysl co by tu mozna zrobic?

1

Sortowanie 3 liczb. Nie w javie ale tutaj głównie chodzi o algorytm.

0

Po probach stworzylem cos takiego ale wyglada mi to strasznie prowizorycznie ;) Czy taki kod jest poprawny ? Spelnia on swoje zadanie i daje poprawne wyniki ale co jak liczb bedzie 100?

package projekt;

public class Projekt {
    public static void main(String args []) {

int a = 87;
int b = 45;
int c = 23;

if ((a > b) && (a > c) && (b > c)) {
    System.out.println(a);
    System.out.println(b);
    System.out.println(c);
}
else if ((b > a) && (b > c) && (a > c)) {
    System.out.println(b);
    System.out.println(a);
    System.out.println(c);
}
else if ((c > b) && (c > a) && (b > a)) {
    System.out.println(c);
    System.out.println(b);
    System.out.println(a);
}
else if ((c > b) && (c > a) && (a > b)) {
    System.out.println(c);
    System.out.println(a);
    System.out.println(b);
}
    }
}
0

ale co jak liczb bedzie 100?

Widziałeś kiedykolwiek jakikolwiek algorytm sortujący..? Choćby sortowania bąbelkowego..?

Do takich rzeczy wykorzystuje się tablice, a nie osobne zmienne (jak będzie 100 liczb to zadeklarujesz 100 zmiennych? - rusz głową i poczytaj trochę).

0

Wczytujesz liczby do kolekcji.
Sortujesz kolekcje.
Wypisujesz.

0

Tablica + jakieś (zwykłe) sortowanie...

1

Założeniem lekcji na tej stronie było zapoznanie się z instrukcjami if, else z tego co widzę. Więc wydaj mi się, że zadanie wykonałeś poprawnie.
Jeśli chciałbyś sortować jakąś większą ilość danych możesz użyć jak napisano wyżej tablicy lub kolekcji. Np. do sortowania tablic jest prosta metoda sort:

int[] tablica = {6, 10, 4, 45, 32, 33, 46, 100, 1, 39};
System.out.println(Arrays.toString(tablica)); 
 
Arrays.sort(tablica);   
System.out.println(Arrays.toString(tablica));  
0

Dodatkowo do sortowania List jest metoda Collections.sort. Żeby posortować Set wystarczy go wrzucić do jakiegoś SortedSeta, np new TreeSet<cośtam>(nieposortowanySet). Podobnie z Mapą, wystarczy np new TreeMap<cośtam>(nieposortowanaMapa).

0

Jako, że program dziala uznaje za udany, dzieki za wartosciowe podpowiedzi ;) Co do sortowania babelkowego to jeszcze go nie widzialem a pytalem z ciekawosci ;) Kto pyta nie bladzi ;)

0

Za pewnie chodziło o coś w stylu tego:

         if(a>b) { int t=a; a=b; b=t; }
         if(a>c) { int t=a; a=c; c=t; }
         if(b>c) { int t=b; b=c; c=t; }
         System.out.println("sortowanie: "+a+" "+b+" "+c);

lub tego:

         if(a<b)
           {
            if(b>c)
              {
               if(a<c) System.out.println("sortowanie: "+a+" "+c+" "+b);
               else    System.out.println("sortowanie: "+c+" "+a+" "+b);
              }
            else System.out.println("sortowanie: "+a+" "+b+" "+c);
           }
         else
           {
            if(a>c)
              {
               if(b<c) System.out.println("sortowanie: "+b+" "+c+" "+a);
               else    System.out.println("sortowanie: "+c+" "+b+" "+a);
              }
            else System.out.println("sortowanie: "+b+" "+a+" "+c);
           }

1 użytkowników online, w tym zalogowanych: 0, gości: 1