// PC1 - PREGUNTA 3
//
// Escriba la clase C3 que crea un arreglo de numero (random entre 1 y 30) estudiantes con:
// nombre: “E0”, “E1”, ...
// nota (random entre 0 y 20)
// Ordene ascendentemente a los estudiantes por nota y reporte los datos que se muestran en el
// caso de prueba.
//
// Salida de un caso de prueba:
// Número de estudiantes: 10
// Nota mínima : 4
// Nota promedio : 11.1
// Nota máxima : 19
// Estudiantes ordenados por nota
// Nombre nota
// E2 4
// E3 6
// E0 7
// E1 7
// E9 10
// E6 12
// E5 13
// E8 16
// E4 17
// E7 19
import java.util.Random;
//public class C3 {
public class Main {
static int numero, notaMin = 20, notaMax;
static float notaProm;
static Random ran = new Random();
String nombre;
int nota;
//Constructor
C3(int i, int nota){
this.nombre = "E"+i;
this.nota = nota;
}
public static void main(String[] args){
//Número de estudiantes
numero = ran.nextInt(30)+1;
C3[] arr;
arr = new C3[numero];
for(int i = 0; i<numero;i++){
//Nota entre 0-20
int n = ran.nextInt(21);
arr[i]= new C3(i,n);//Instanciamos para cada elemento del array
notaProm+=n;//Sumamos las notas para hallar el promedio
//Nota Minima
if(notaMin>n){
notaMin = n;
}
//Nota maxima
if(notaMax<n){
notaMax = n;
}
}
ordenar(numero, arr);
System.out.println("Número de estudiantes : "+numero);
System.out.println("Nota mínima : "+notaMin);
System.out.println("Nota promedio : "+ (float)notaProm/numero);
System.out.println("Nota máxima : "+notaMax);
System.out.println("Estudiantes ordenados por nota");
System.out.println("Nombre\tNota");
for(int i = 0;i<numero;i++){
System.out.println(arr[i].nombre + "\t"+arr[i].nota);
}
}
public static void ordenar(int num, C3[] est){
//Ordenamiento burbuja
for(int i = 1; i<num;i++){
for(int j = 0;j<num-i;j++){
if(est[j].nota>est[j+1].nota){
C3 aux = est[j];
est[j]=est[j+1];
est[j+1]=aux;
}
}
}
}
}