Sortowanie 3 liczb

0

Wiem, że podobne zadanie już było na forum, niestety nie rozwiązało mojego problemu. Czy ma może ktoś kod do posortowania 3 liczb (a,b,c) z wykorzystaniem tylko i wyłącznie instrukcji warunkowej if (i oczywiście else if). Muszę rozważyć wszystkie przypadki, kiedy te liczby będą od siebie różne, gdy 2. będą równe i gdy wszystkie są takie same. Efektem ma być wypisanie tych liczb od najmniejszej do największej. Proszę o pomoc;)

3

Możesz to zrobić etapami.

Etap 1:
Robisz drabinkę typu:

if (a < b && b < c)
 print a, b, c
else if (a >= b && b >= c)
 print c, b, a
else if (a < b && b >= c)
 print a, c, b
....

Takie coś już będzie wystarczać, ale możesz to usprawnić.

Etap 2:
Wybierz sobie jakiś warunek podstawowy, np a < b. Następnie utwórz ifa z tym warunkiem oraz wypełnij:

if (a < b) {
  tutaj ify które mają ten warunek
} else {
  a tutaj ify które nie mają tego warunku
}

Następnie z obu rozgałęzień ifa usuwasz porównanie liczb a i b, a więc zarówno a < b jak i a >= b bo wiadomo, że będą spełnione w danych odgałęzieniach.

Następnie etap 2 wykonujesz rekurencyjnie dla każdej gałęzi nowego dużego ifa - choć w sumie przy 3 liczbach chyba nie będzie nawet po co się rekurencyjnie zagłębiać (tzn nie da to żadnego efektu).

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