sábado, 16 de julio de 2011

ejercicio 10 decir cual de los numeros introducidos es el mayor

namespace cual numeor es mayor
{
    class Program
    {
        public static void Main(string[] args)
        {
            int [] ARREGLO = new int[5];
            int X;
           
            for (X=0; X<ARREGLO.Length; X++)
            {
                Console.WriteLine("INTROCUCE EL VALOR DE LA POSICION " + X + ":");
                ARREGLO[X] = int.Parse(Console.ReadLine());
               
            }
           
            Console.WriteLine();
           
            for (X=0; X<ARREGLO.Length; X++)
            {
                Console.Write(ARREGLO[X] + "|");
               
            }
            Console.WriteLine();
            Console.WriteLine("-------------------");
           
            X=0;
                if (ARREGLO[X]>ARREGLO[X+1] && ARREGLO[X]>ARREGLO[X+2] && ARREGLO[X]>ARREGLO[X+3] && ARREGLO[X]>ARREGLO[X+4] )
                {
                    Console.WriteLine();
                    Console.WriteLine();
                    Console.WriteLine("EL VALOR DE LA POSICION " + X + " ES EL MAYOR: ");
                    Console.WriteLine(ARREGLO[X]);
                }
           
               
            X=1;
            if (ARREGLO[X]>ARREGLO[X-1] && ARREGLO[X]>ARREGLO[X+1] && ARREGLO[X]>ARREGLO[X+2] && ARREGLO[X]>ARREGLO[X+3] )
                {
                    Console.WriteLine();
                    Console.WriteLine();
                    Console.WriteLine("EL VALOR DE LA POSICION " + X + " ES EL MAYOR: ");
                    Console.WriteLine(ARREGLO[X]);
                }
               
               
            X=2;
                if (ARREGLO[X]>ARREGLO[X-1] && ARREGLO[X]>ARREGLO[X-2] && ARREGLO[X]>ARREGLO[X+1] && ARREGLO[X]>ARREGLO[X+2] )
                {
                    Console.WriteLine();
                    Console.WriteLine();
                    Console.WriteLine("EL VALOR DE LA POSICION " + X + " ES EL MAYOR: ");
                    Console.WriteLine(ARREGLO[X]);
                }
               
               
               
            X=3;
                if (ARREGLO[X]>ARREGLO[X-1] && ARREGLO[X]>ARREGLO[X-2] && ARREGLO[X]>ARREGLO[X-3] && ARREGLO[X]>ARREGLO[X+1] )
                {
                    Console.WriteLine();
                    Console.WriteLine();
                    Console.WriteLine("EL VALOR DE LA POSICION " + X + " ES EL MAYOR: ");
                    Console.WriteLine(ARREGLO[X]);
                }
               
               
            X=4;
                if (ARREGLO[X]>ARREGLO[X-4] && ARREGLO[X]>ARREGLO[X-3] && ARREGLO[X]>ARREGLO[X-2] && ARREGLO[X]>ARREGLO[X-1] )
                {
                    Console.WriteLine();
                    Console.WriteLine();
                    Console.WriteLine("EL VALOR DE LA POSICION " + X + " ES EL MAYOR: ");
                    Console.WriteLine(ARREGLO[X]);
                }
            Console.ReadKey(true);
        }
    }
}

3 comentarios:

  1. Que tal Gilberto :

    Al revisar tu código me doy cuenta que si funciona, sin embargo considero que no es la solución mas eficiente, considera el caso en el que sean 20 posiciones y no 5 las que tiene el arreglo, creo que tus instrucciones aumentarian en cantidad considerablemente.

    Te sugiero lo siguiente :
    Declara otra variable e inicializala en 0, cuando haces el recorrido para imprimir tu arreglo debes comparar la variable nueva con cada una de las posiciones del arreglo, cuando se de el caso que una de las posiciones del arreglo sea mayor al contenido de tu variable envía el dato de la posición del arreglo a tu nueva variable, así conseguirás que al final del recorrido del arreglo tendrás en tu nueva variable el valor más grande.

    Analiza tu código y mi comentario y busca una solución alternativa.

    Saludos

    ResponderEliminar