Podejście 1. Wprowadzam 4,1,5 otrzymuję wynik sortowania 0,4,0
Rozwaliło formatowanie kodu więc umieszczam link do pliku txt z kodem.
próba 1
Jest to moje drugie podejście. Spróbowałem zagnieździć IF'y. Wprowadzam z klawiatury 1,2,3 a otrzymuję wynik sortowania 0,0,1
próba 2
Pierwsza wprowadzona cyfra jest sortowana prawidłowo, lecz kolejne pozostałe nie są brane pod uwagę dlaczego?
Wprowadzam z klawiatury 1,2,3 a otrzymuję wynik sortowania 0,0,1
Rozwiązane
Komentarze (5)
- Popularne
- Najnowsze
- Najstarsze
Musisz się zalogować, aby dodać komentarz
hidden #10661518
24 września 2020, 14:17
ja tak to rozwiazałem () , ale pewnie są lepsze
0
Robert
26 września 2020, 10:57
Próbowałem ogarnąć tę pomocniczą ale nie dałem rady. Poszedłem podpowiedzią Misia była bardziej zbliżona do mojego toku myślenia. Dziękuję także za pomoc.
0
Misiu
24 września 2020, 10:56przydatny
Może spróbuj tak, bez else:
jeśli a > = b i a >= c
max = a
jeśli b >= c
mid = b
min = c
A dalej znów to samo, ale dla innego pierwszego warunku.
A potem jeszcze raz to samo, ale dla innego pierwszego warunku.
+1
Robert
26 września 2020, 10:44
Udało się. Dziękuję. Poszedłem Twoim tropem. Wyszło nawet trochę krócej i bardziej przejrzyście. Dodałem znaki równości w zagnieżdżonych IF'ach i teraz dla:
a b c
1 2 3 = 3 2 1
3 2 1 = 3 2 1
3 1 2 = 3 0 0 // brakowało mi jednego z dwóch IF zagnieżdżonych, które powinny być dla (a) będącego max:
2 1 3 = 3 2 1
2 3 1 = 3 2 1
Potem przy próbie weryfikacji wyszło, że gdy wprowadzę 0, 0, 15 wyświetli 0, 0, 0. I nie zaliczyło zadania.
1 0 0 = 1 0 0
0 0 1 = 0 0 0
0 1 0 = 0 0 0
1 0 1 = 0 0 0
I gdy dodałem znaki równości w nadrzędnych IF'ach, których wcześniej nie dodałem, przeszło weryfikację poprawnie.
Jeszcze zapytam jaka jest różnica jeśli wprowadzę IF bez "else" jakie to ma znaczenie podczas działania programu?
a
Gdy edytowałem kod to i tak i tak działało tylko podświetlało mi niektóre warunki na pomarańczowo gdy usunąłem "else" lub go dodałem w IntelliJ 0
Misiu
24 września 2020, 10:47
Program skacze po IF-ach z fałszem i dochodzi do linii:
low = a;
Tu jest prawda, low = 1 i program wychodzi z IF-ów, przeskakuje do wyświetlenia wyniku.
Liczby mogą być równe. Stosuj nieostre porównania.
0