Hola, soy nuevo en la programacion en C# y quiero preguntarles
sobre un problema:
Pedirle al usuario que ingrese 3 numeros y que el programa muestre
cual es el mas grande, el segundo y el mas chico; o sea que los
muestre de mayor a menor. Ej si ingresamos: 45, 7, 96 el programa
imprima "96 es mayor que 45 y 45 es mayor que 7", o: "3ro > 1ro > 2do".
El código que se me ocurrio lo dejo abajo, pero creo que
no es el mas adecuado ya que si tuviera que ingresar muchos numeros
habria que decirle al programa cada una de las posibilidades.
La pregunta es si hay algun metodo mas simple o mas adecuado, y que
me permita ingresar muchos numeros sin tener que indicarle
las distintas posibilidades al programa.
Gracias y saludos!
CODIGO:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.ForegroundColor = ConsoleColor.Black;
Console.BackgroundColor = ConsoleColor.White;
Console.Clear();
Console.WriteLine("Escribi un numero a n");
int a = Convert.ToInt32(Console.ReadLine()); //los caracteres ingresados se van a convertir a int32
Console.WriteLine("Escribi un numero entero b n");
int b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Escribi un numero entero c n");
int c = Convert.ToInt32(Console.ReadLine());
/*
*
* LISTADO DE POSIBILIDADES:
* ------------------------
* A > B > C
* A > B = C *1
* A = B > C *2
*
* A > C > B
* A > C = B *1
* A = C > B *6
* --------------
* B > A > C
* B > A = C *3
* B = A > C *2
*
* B > C > A
* B > C = A *3
* B = C > A *4
* --------------
* C > A > B
* C > A = B *5
* C = A > B *6
*
* C > B > A
* C > B = A *5 NOTA: LAS LETRAS LOS * ES PORQUE SE REPITEN LAS POSIBILIDADES
* C = B > A *4
* --------------
* A = B = C
*
*
*
* LISTADO DE POSIBILIDADES (sin las que se repiten):
* ------------------------
* A > B > C
* A > B = C *1
* A = B > C *2
*
* A > C > B
*
* A = C > B *6
* --------------
* B > A > C
* B > A = C *3
*
*
* B > C > A
*
* B = C > A *4
* --------------
* C > A > B
* C > A = B *5
*
*
* C > B > A
*
*
* -------------- --------------------
* A = B = C * 13 POSIBILIDADES *
--------------------
*
*/
if (a > b && b > c)
{
Console.WriteLine(" n a > b > c ");
}
if (a > b && b == c)
{
Console.WriteLine("n a > b = c");
}
if (a == b && b > c)
{
Console.WriteLine("n a = b > c");
}
if (a > c && c > b)
{
Console.WriteLine("n a > c > b");
}
if (a == c && c > b)
{
Console.WriteLine("n a = c > b");
}
/******************************************************************/
if (b > a && a > c)
{
Console.WriteLine("n b > a > c");
}
if (b > a && a == c)
{
Console.WriteLine("n b > a = c");
}
if (b > c && c > a)
{
Console.WriteLine("n b > c > a");
}
if (b == c && c > a)
{
Console.WriteLine("n b = c > a");
}
/***************************************************************************/
if (c > a && a > b)
{
Console.WriteLine("n c > a > b");
}
if (c > a && a == b)
{
Console.WriteLine("n c > a = b");
}
if (c > b && b > a)
{
Console.WriteLine("n c > b > a");
}
/*************************************************************************/
if (a == b && b == c)
{
Console.WriteLine("n a = b = c ");
}
Console.ReadLine();
}
}
}