Сортировка трех чисел

  • 3
  • Недоступна
На планете Линейный Хаос живут изоморфы. Говорят, именно они изобрели методы сортировки и у них в голове все чрезвычайно упорядочено. Визы на их планету они выдают только тем, кто знает не менее 7 методов сортировки. Сделаем первый шаг к Линейному Хаосу: упорядочим три введенные с клавиатуры числа по убыванию, а затем выведем их на экран.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (186)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
artur4 уровень, Гомель
среда, 20:56
долго думал, максимальное и минимально просто найти а вот среднее число, это будет сумма всех чисел минус max и min
Stragin PS7 уровень, Санкт-Петербург
17 апреля, 08:01
Кто-то назовёт это синтаксическим сахаром, но я всё-же оставлю это здесь
a = a + b - (b = a);
Sherlock04048 уровень, Москва
2 апреля, 19:17
Ребята, я нашла хороший вариант как мне кажется. Без всякий if и else-if. Сначала нужно как обычно ввести 3 переменные на ввод 3-х чисел (ну как обычно). А потом ввести 3 переменные: 1 - на максимальное значение int max = Math.max(Math.max(a, b), c); 2 - тоже самое, только на минимальное значение; 3 - (сумма всех чисел) минус (int max + int min), т.е. 3 переменная и будет средним значением из 3х чисел. Ну и соответственно выводим на печать все эти переменные в убывающем порядке плюс пробелы между ними. Вот. P.s. у меня такое решение прошло тестирование.
Михаил7 уровень, Москва
8 апреля, 14:14
Очень понравился Ваш вариант решения. Особенно как среднее число нашли.
Ярослав8 уровень
18 апреля, 14:44
Так же пытался решить задачу, но не мог додуматься как найти среднее:) Очень помог ваш коммент) Спасибо!
jeka9 уровень
22 апреля, 16:54
Просто гениально. Я наверное час сидел. За это время уже все остальные задачи написать успел! Спасибо!
Nazim10 уровень, Москва
1 апреля, 12:48
дам подсказку ребята, решать нужно желательно через иф елсе, и не забывайте про то что могут попадаться числа равные друг другу)
Иван Мозгачев13 уровень, Москва
27 марта, 16:38
Конечно задачу можно решить в одну строчку. Но тут задача на примитивы. По сути нельзя использовать ни коллекции ни массивы. Но если сравнивать с предыдущими задачами этой лекции, то логично было использовать простой метод: 1. Найти максимум из 3-х 2. Найти максимум минимума (любого) 3. Найти минимум Банально, просто и логично лекции.
Даниил13 уровень, Москва
29 марта, 19:33
А можно пример, как в одну строчку решить?
Иван Мозгачев13 уровень, Москва
11 апреля, 22:40
Конечно, но если Вы принципиальны хотите одну строчку то тогда конечно это не одна. Там и строчка для ввода с консоли и строчка для нахождения минимума и строчка для максимума
sb.append(max(a, max(b, c))).append(" ").append(max(a, min(b, c))).append(" ").append(min(a, min(b, c)));
New Year9 уровень, Москва
21 апреля, 20:31
Ваш код работает неправильно, проверьте; а=4, b=3, c=2 Среднее можно найти вот так: (a+b+c)-(Math.max(a, Math.max(b,c))+Math.min(a,Math.min(b,c)))
Иван Мозгачев13 уровень, Москва
22 апреля, 16:53
Ну да, почему-то упустил еще кучу вариантов, которые не учитываются при вычислении среднего. И если мой метод использовать то получится очень громоздким. Нужно из всех пар получить максимум и из этих пар минимум - он и будет средним (а это не меньше 7 действий) Самый простой способ предложен New Year, спасибо что нашел баг и за предоставление более компактного поиска среднего.
pomidorka8 уровень, Москва
27 марта, 14:45
Почитал комменты и ужаснулся... Каких только костылей не напридумывали) Сам сделал пузырьковую сортировку просто
Jane Air5 уровень, Минск
18 апреля, 19:45
а шо так можно было?
Никола9 уровень, Москва
25 марта, 17:38
можно решить через циклы и массивы, с помощью реверсивной сортировки массива. Главное помнить, что он кушает Integer, а не int!
Alexander Klimin6 уровень, Москва
22 марта, 15:54
не забывайте о случае когда 2 из 3 чисел равны
Ениш6 уровень, Москва
22 марта, 22:10
если они равны мне вывести три числа или две ?
Alexander Klimin6 уровень, Москва
23 марта, 09:58
сначала нужно два равных, потом мЕньшее
Евгений 7 уровень, Москва
20 марта, 14:43
Решил через if в 6 строк + 4 строки на ввод с клавиатуры Странно, код корректный, выполняет все условия, но при проверке выдает ошибку(Программа должна выводить числа в порядке убывания.) хотя программа и так выводит числа в порядке убывания
Alexander Klimin6 уровень, Москва
22 марта, 15:46
в задачи не поставлено условие в плане того что если 2 числа окажутся равны а оно видимо подразумевается
Игорь8 уровень
20 марта, 09:19
с 7 попытки но сам сам сам!!!!!