contestada

Elaborar un programa que pida 4 numeros por teclado y muestre cual es el segundo mayor

Ej: Si A=-1 B=-2 C=-3 D=-45 entonces mostrara "El segundo mayor es -2"

Ej: Si A=1 B=2 C=3 D=3 entonces mostrara "El segundo mayor es 2"

Ej: Si A=10 B=1-0 C=10 D=10 entonces mostrara "No existe segundo mayor"

(SOLO puede existir ALGUNA de las siguientes palabras en el codigo de la solucion DOS VECES IF, WHILE , REPEAT)

ayudaaaa!!!!!!!!... yo me lo sabia a puros if :"(

Respuesta :

NivekT

Respuesta:

program SegundoMayor_De4Numeros;

var

   Numeros: ARRAY[1..4] OF integer;

   Copia_Numeros: ARRAY[1..4] OF integer;

   i: integer;

   Mayor: integer;

   Mayor2: integer;

begin

   {Pedimos los numeros y los guardamos en el arreglo}

   i := 1;

   while i <= 4 do

   begin

       write( 'Ingrese el numero ', i, ': ' );

       readln( Numeros[i] );

       i := i + 1;

   end;

   

   

   {Ahora buscamos el mayor}

   Mayor := Numeros[1];

   i := 2;

   while i <= 4 do

   begin

       if Numeros[i] > Mayor then

       begin

           Mayor:=Numeros[i];

       end;

       i := i + 1;

   end;

   {Hacemos una copia del arreglo quitando al mayor}

   i := 1;

   while i <= 4 do

   begin

       Copia_Numeros[i] := Numeros[i];

       if Copia_Numeros[i] = Mayor then

       begin

           Copia_Numeros[i] := -999;

       end;

       i := i + 1;

   end;

   

   Mayor2 := Copia_Numeros[1];

   i := 2;

   while i <= 4 do

   begin

       if Copia_Numeros[i] > Mayor2 then

       begin

           Mayor2 := Copia_Numeros[i];

       end;

       i := i + 1;

   end;

   writeln('El numero mayor es: ', Mayor);

   writeln('El segundo numero mayor es: ', Mayor2);

end.

Explicación:

Perdón la demora, no funcionaba para numeros negativos mmm pero creo que ya.

Otras preguntas