Ordenar numeros con IF
Publicado por Dany (16 intervenciones) el 12/09/2017 04:58:02
Hola a todos, estoy tratando de adaptar este código pero no me queda del todo bien, necesito ordenar 5 números de forma descendente, los numero son ingresados por el usuario de forma aleatoria.
El programa me ordena los números bien el mayor y los menores pero tengo problemas cuando ingreso dos valores iguales me desordena los numeros.
Ejemplo ingreso los valores:25, 6, 7, 25, 8 me debería de dar: 25, 25, 8, 7, 6 pero no me lo esta haciendo otro ejemplo si ingreso:
99, 188, 44, 3, 1001 deberia de mostrarme 1001, 188, 99, 44, 3 pero me da 1001, 188, 44, 3, 3 de donde saca el otro 3 me desaparece el numero 9 cabe mencionar que solo necesito hacerlo con IF o IF Else les comparto el código:
Saludos
DS
El programa me ordena los números bien el mayor y los menores pero tengo problemas cuando ingreso dos valores iguales me desordena los numeros.
Ejemplo ingreso los valores:25, 6, 7, 25, 8 me debería de dar: 25, 25, 8, 7, 6 pero no me lo esta haciendo otro ejemplo si ingreso:
99, 188, 44, 3, 1001 deberia de mostrarme 1001, 188, 99, 44, 3 pero me da 1001, 188, 44, 3, 3 de donde saca el otro 3 me desaparece el numero 9 cabe mencionar que solo necesito hacerlo con IF o IF Else les comparto el código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
public class MultiplesIf {
public static void main(String[] args){
int num1,num2,num3,num4,num5;
int a, b, c, d, e;
System.out.println("Ingrese 5 numeros a continuación: ");
Scanner type = new Scanner(System.in);
System.out.println("Ingrese el valor de n1: ");
num1 = type.nextInt();
System.out.println("Ingrese el valor de n2: ");
num2 = type.nextInt();
System.out.println("Ingrese el valor de n3: ");
num3 = type.nextInt();
System.out.println("Ingrese el valor de n4: ");
num4 = type.nextInt();
System.out.println("Ingrese el valor de n5: ");
num5 = type.nextInt();
// Asigno los numeros introducidos a 5 variables diferentes
a = num1;
b = num2;
c = num3;
d = num4;
e = num5;
// Comparamos el valor de la var 1 vs las demas
if (num1 > num2 && num1 > num3 && num1 > num4 && num1 > num5)
a = num1;
if (num1 < num2 && num1 > num3 && num1 > num4 && num1 > num5)
b = num1;
if (num1 < num2 && num1 < num3 && num1 > num4 && num1 > num5)
c = num1;
if (num1 < num2 && num1 < num3 && num1 < num4 && num1 > num5)
d = num1;
if (num1 < num2 && num1 < num3 && num1 < num4 && num1 < num5)
e = num1;
// Comparamos el valor de la var 2 vs las demas
if (num2 > num1 && num2 > num3 && num2 > num4 && num2 > num5)
a = num2;
if (num2 < num1 && num2 > num3 && num2 > num4 && num2 > num5)
b = num2;
if (num2 < num1 && num2 < num3 && num2 > num4 && num2 > num5)
c = num2;
if (num2 < num1 && num2 < num3 && num2 < num4 && num2 > num5)
d = num2;
if (num2 < num1 && num2 < num3 && num2 < num4 && num2 < num5)
e = num2;
// Comparamos el valor de la var 3 vs las demas
if (num3 > num2 && num3 > num1 && num3 > num4 && num3 > num5)
a = num3;
if (num3 < num2 && num3 > num1 && num3 > num4 && num3 > num5)
b = num3;
if (num3 < num2 && num3 < num1 && num3 > num4 && num3 > num5)
c = num3;
if (num3 < num2 && num3 < num1 && num3 < num4 && num3 > num5)
d = num3;
if (num3 < num2 && num3 < num1 && num3 < num4 && num3 < num5)
e = num3;
// Comparamos el valor de la var 4 vs las demas
if (num4 > num1 && num4 > num2 && num4 > num3 && num4 > num5)
a = num4;
if (num4 < num1 && num4 > num2 && num4 > num3 && num4 > num5)
b = num4;
if (num4 < num1 && num4 < num2 && num4 > num3 && num4 > num5)
c = num4;
if (num4 < num1 && num4 < num2 && num4 < num3 && num4 > num5)
d = num4;
if (num4 < num1 && num4 < num2 && num4 < num3 && num4 < num5)
e = num4;
//Comparamos el valor de la var 5 vs las demas
if (num5 > num1 && num5 > num2 && num5 > num3 && num5 > num4)
a = num5;
if (num5 < num1 && num5 > num2 && num5 > num3 && num5 > num4)
b = num5;
if (num5 < num1 && num5 < num2 && num5 > num3 && num5 > num4)
c = num5;
if (num5 < num1 && num5 < num2 && num5 < num3 && num5 > num4)
d = num5;
if (num5 < num1 && num5 < num2 && num5 < num3 && num5 < num4)
e = num5;
System.out.print("El orden de mayor a menor es el siguiente: " + " "
+ a + " " + b + " " + c + " " + d + " " + e);
}
}
Saludos
DS
Valora esta pregunta
0