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;)
0
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).