На планете Линейный Хаос живут изоморфы. Говорят, именно они изобрели методы сортировки и у них в голове все чрезвычайно упорядочено. Визы на их планету они выдают только тем, кто знает не менее 7 методов сортировки. Сделаем первый шаг к Линейному Хаосу: упорядочим три введенные с клавиатуры числа по убыванию, а затем выведем их на экран.
Сортировка трех чисел
- 8
- Недоступна
Комментарии (505)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий вы должны авторизоваться
OlgaK 5 уровень, Киев
24 февраля, 14:28
Сначала пыталась сделать через Array, потом через max/min. Однако почитав комментарии поняла, что не стоит бежать впереди паровоза. Сделала через if else.
0
Vladas 4 уровень
5 февраля, 21:37
Чтобы решить задачу самому никуда не подсматривать (я думаю, что на этих уровнях уже у многих такие проблемы/опасения) нужно просто представить какие возможные варианты бывают.
Объясняю:
Числа a, b, c
1 случай: a >= b & a >= c & c <= b
2 случай: a >= c & a >= b & b <= c
3 случай: b >= a & b >= c & c <= a
4 случай: b >= c & b >= a & a <= c
5 случай: c >= b & c >= a & a <= b
6 случай: c >= a & c >= b & b <= a
Как будет выглядеть вывод при таких условиях:
1 случай: a b c
2 случай: a c b
3 случай: b a c
4 случай: b c a
5 случай: c b a
6 случай: c a b
Не надо никаких массивов и прочего, просто немного подумать, логику поискать.
Всем удачи!
+2
Дмитрий 12 уровень, Москва
5 февраля, 07:37
Сперва находим максимум и минимум. Затем складываем все 3 числа и вычитаем max и min
+4
Bombus 10 уровень, Москва
25 января, 14:07
Я так сделал:
int max = Math.max(a,Math.max(b,c));
int min = Math.min(a,Math.min(b,c));
int mid = a + b + c - (max + min);
System.out.println(max + " " + mid + " " + min);
+5
Oleksandr Havryush 8 уровень
1 февраля, 17:19
Я тоже. И это просто класс 😀
0
Павел Ковзун 5 уровень, Витебск
15 февраля, 17:23
А на четвёртом уровне Вы бы так написали? А я то на четвертом и про мах и min мы ещё не проходили.
+1
Bombus 10 уровень, Москва
16 февраля, 07:14
Нет конечно! Я не решаю все задачи уровня, чтобы потом вернуться как к теме для повтора, так и решать их альтернативными способами. Мне так больше нравится. Просто некоторые задачи по теме решаешь по аналогии с предыдущими решенными, иногда до конца не поняв суть. Вернувшись к ним позже, есть шансы постичь эту суть, т.к. уже забываешь как решал, а если не понял суть, то и не вспомнишь )) вот и второй заход в тему гарантирован ))
0
Эдуард Хазиев 8 уровень
14 января, 13:40
Смотрю некоторые нагородили через if-else, у меня получилось достаточно компактно
0
DDAlex 5 уровень, Алматы
25 января, 14:43
Дружище, проверил я твой код, ты только для четырёх вариантов прописал, а их всего 6 возможно комбинаций, необходим ещё один else if и один else завершающий, тогда всё будет считать.
У тебя прописано для таких комбинаций:
1 2 3
2 1 3
2 3 1
3 2 1
А для этих двух у тебя не работает прога:
1 3 2
3 1 2
+1
Борис Карасик 14 уровень, Минск
5 февраля, 23:33
9 3 5 не работает. Не полный алгоритм ИМХО
0
Эдуард Хазиев 8 уровень
7 февраля, 14:34
Ввожу:
9
3
5
Выводит:
9 5 3
Что не работает?
0
Борис Карасик 14 уровень, Минск
11 февраля, 07:31
Сразу не заметил, но за 25 января, 17:43 был дан полный ответ
0
Алёнка1 6 уровень
12 января, 19:51
Решила так, но строчка с mid однозначно пугала :(
max = Math.max(a, Math.max(b,c));
min = Math.min(a, Math.min(b, c));
mid = (a>b?a<c?a:b>c?b:c:b<c?b:a<c?c:a);
System.out.println(max + " " + mid + " " + min);
Может в таком варианте более читабельным код будет
mid = a + b + c - (min + max);
+5
Alexander 5 уровень, Киев
2 января, 21:59
Да, уж. на первый взгляд все просто, но над логикой пришлось поднапрячся.
Все решается через if, задача на развитие логики и формул, а не math.max
+1
Anonymous #2412943 Работает в Вымпелком
27 декабря 2020, 11:22
Погуглить получилось быстрее, чем расписывать алгоритм. Сортировка + массив (только не забудьте импорт). Валидация пройдена.
http://study-java.ru/uroki-java/urok-11-sortirovka-massiva/
+1
alexxx344 13 уровень, Москва
30 декабря 2020, 13:06
Хорош👍 Можно еще сразу 10ый прочитать
0
erg 5 уровень
22 декабря 2020, 12:21
Использовать обратную сортировку
Arrays.sort(<имя заполненого массива>, Collections.reverseOrder());
Статья http://study-java.ru/uroki-java/urok-11-sortirovka-massiva/
Примеры различных методов сортировки с народными плясками - очень занятно.
0
Anatoly 8 уровень, Москва
23 декабря 2020, 14:48
Подскажи, а задача в таком случае пройдет тест.? в условии стоит что числа должны разделены пробелом а массив выдаётся через запятую. Может что то путаю.
0
erg 5 уровень
24 декабря 2020, 12:31
for (byte i=0;i<a.length;i++) {
System.out.print(<имя заполненого массива>[i]+" ");
//Вот тебе и число из ячейки массива и добавленный пробел;
0
Anatoly 8 уровень, Москва
24 декабря 2020, 20:28
Спасибо
0
Super Style 7 уровень, Москва
10 декабря 2020, 19:46
int max..
int min...
int mid...
0