package com.javarush.task.task04.task0420;
/*
Сортировка трех чисел
*/
import java.io.*;
public class Solution {
public static void main(String[] args) throws Exception {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String number = br.readLine();
String number1 = br.readLine();
String number2 = br.readLine();
int m = Integer.parseInt(number);
int m1 = Integer.parseInt(number1);
int m2 = Integer.parseInt(number2);
if ((m2>=m1)&&(m>=m2)){
System.out.print(m + " " + m2 + " " + m1);
}
if ((m1 >= m2)&&(m>=m1)){
System.out.print(m + " " + m1 + " " + m2);
}
if ((m >= m1)&&(m2 >= m)){
System.out.print(m2 + " " + m + " " + m1);
}
if ((m >= m2)&&(m1 >= m)){
System.out.print(m1 + " " + m + " " + m2);
}
if ((m1 >= m)&&(m2 >= m1)){
System.out.print(m2 + " " + m1 + " " + m);
}
else if ((m2 >= m)&&(m1 >= m2)){
System.out.print(m1 + " " + m2 + " " + m);
}
}
}
Tymofiy
5 уровень
Всё получилось, кроме одного момента. Когда я ввожу с клавиатуры 2 одинаковых числа то программа не выводит их по убыванию, а ставит их где попало. Почему?
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Богдан
3 ноября 2018, 00:30
ох и жестко же ты с проверками заморочился... отловить вывод результата не в порядке убывания при одинаковых введенных числах не удалось (да и не может при таком решении это произойти), а вот проблема самого вывода в коде присутствует - при двух одинаковых чисел результатом будет дважды написанная убывающая последовательность чисел, т.к. в при проверке условий неравенств их результат дважды оказывается верным (при всех 3х одинаковых, верная последовательность вовсе будет дублирована 5 раз)
в парадигме твоего решения этого можно избежать, заменив все последующие проверки после первой на else if (что предотвратит дальнейшие проверки, и соответственно выводы, после первого попавшегося удовлетворительного случая)
0