import java.util.*;
public class Carrera
{
public static void main (String [] args)
{
System.out.println ("BIENVENIDO AL PROGRAMA!\n");
System.out.print("Competencia de ciclismo\n");
// Declaración de variables
Scanner Tiempo = new Scanner(System.in);
double Media = 0;
int Descalificado = 0;
float Carrera[]=new float [20];
float MenorTiempo = 0;
int i = 0;
int Cont = 0;
int Participantes=0;
// Ciclo que pide el ingreso de los tiempos de carrera de forma ordenada.
for (i=0; i<20; i++)
{
System.out.print("\n" + "Por favor ingrese el tiempo de carrera del" + " " + (Cont = Cont + 1) + "º ciclista:\n");
Carrera[i] = Tiempo.nextFloat();
}
//Ciclo que saca la cantidad de abandonos en la carrera. (Introduciendo 0)IF
for (i = 0; i < 20; i ++)
{
if(Carrera[i] > 0)
{
Media = Media + Carrera[i];
}
else
{
Descalificado = Descalificado + 1;
}
}
//Se imprime la cantidad de abandonos
System.out.println("\nLa cantidad de abandonos fue de " + Descalificado + " participantes");
///Se descuentan los ciclistas eliminados del total de competidores que finalizaron la carrera.
Participantes = Carrera.length - Descalificado;
///Saca la media de la carrera solamente utilizando a los participantes que finalizaron la misma.
System.out.println("\nEl promedio de la carrera fue de: " + (Media / Participantes) + " min.");
///Ciclo que separa a los abandonos de los mejores tiempos (para que 0 no sea el mejor tiempo).
i = 0;
while(MenorTiempo == 0)
{
MenorTiempo = Carrera[i];
i ++;
}
//Se saca el mejor tiempo en carrera.
for(i = 0; i < Carrera.length - 1; i ++){
if (Carrera[i] <= MenorTiempo && Carrera[i] != 0){
MenorTiempo = Carrera[i];
}
}
//Se imprime el mejor tiempo en carrera.
System.out.println("\nEl mejor tiempo en carrera fue de " + MenorTiempo + " min.");
///Se crea un auxiliar para guardar el valor de el primer indice.
float Aux = 0;
//Se crea un segundo indice que va a server para comparar el Indice en cada uno de los ciclos con otro numero.
int iDos = 1;
System.out.println("\nTabla de posiciones: \n");
//Se crea el ciclo que va a ir comparando paso a paso los valores de los tiempos.
for(i = 0; i < Carrera.length - 1; i ++)
{
for(iDos = i + 1; iDos < Carrera.length; iDos ++)
{
if(Carrera[iDos] <= Carrera[i])
{
Aux = Carrera[i];
Carrera[i] = Carrera[iDos];
Carrera[iDos] = Aux;
}
}
}
///Se imprime la tabla final de posiciones.
///Con la variable final vamos colocando el orden de competidores, por ejemplo: 1, 2, 3, 4.
int Final = 1;
for(i = 0; i <= Carrera.length - 1; i ++)
{
if(Carrera[i] != 0)
{
System.out.println(Final + "º lugar | " + Carrera[i]);
Final = Final + 1;
}
}
}
}