Hola amigos, buenas noches.
Bueno, tengo de tarea hacer un programa donde se pida "n" calificaciones y calcular el promedio y además hallar las calificaciones de menor y mayor o igual(>=) valor al del promedio.
He aquí mi código:
Código Java:
Ver originalScanner lee
=new Scanner
(System.
in);
float suma=0,Prom=0, menor, mayor=0;
int i=0, j=0, a=0;
System.
out.
println("¿Cuantas calificaciones serán insertadas?"); int Numcalif=lee.nextInt();
float array1[]=new float[Numcalif];
float array2[]=new float[Numcalif];
float array3[]=new float[Numcalif];
System.
out.
println("Ingresa calificaciones"); for(i=0;i<Numcalif;i++)
{
array1[i]=lee.nextFloat();
suma+=array1[i];
Prom=suma/Numcalif;
if(array1[i]>Prom)
{
array2[j]=array1[i];
j++;
}
else
if(array1[i]<Prom)
{
array3[a]=array1[i];
a++;
}
}
System.
out.
println("El promedio es: "+Prom
);
System.
out.
println("Las calificaciones Mayores al promedio son:"); for(i=0;i<array2.length;i++)
System.
out.
println(array2
[i
]); System.
out.
println("Las calificaciones Menores al promedio son:"); for(i=0;i<array3.length;i++)
System.
out.
println(array3
[i
]);
Lo que hago es declarar 3 arrays, 1° para guardar, 2°para guardar variables maximas y el 3° para variables minimas, despues inserto las calificaciones en el array1, hago la suma y promedio de las calificaciones, ahora lo que hago es comparar los elementos del array1 con el promedio resultante y si son maximos se guardan en el 2°array y en el 3° se guardan las minimas.
Bueno el problema que tengo es al comparar ya que al correr el programa solo compara números en forma descendente de grandes a pequeños elementos y realmente ordena los números maximos y minimos pero si agrego más de 4 elementos en el array siempre hay un número minimo que se queda en el array máximo y si lo hago insertando números en forma "aleatoria" todos los elementos quedan en máximo aún siendo minimos.
Ejemplo más de 4 elementos:
Código Java:
Ver originalrun:
¿Cuantas calificaciones serán insertadas?
5
Ingresa calificaciones
100
90
80
70
60
El promedio es: 80.0
Las calificaciones Mayores al promedio son:
100.0
90.0
80.0
70.0
0.0
Las calificaciones Menores al promedio son:
60.0
0.0
0.0
0.0
0.0
BUILD SUCCESSFUL (total time: 6 seconds)
ejemplo insertando números aleatorios:
Código Java:
Ver original¿Cuantas calificaciones serán insertadas?
5
Ingresa calificaciones
40
70
50
60
90
El promedio es: 62.0
Las calificaciones Mayores al promedio son:
40.0
70.0
50.0
60.0
90.0
Las calificaciones Menores al promedio son:
0.0
0.0
0.0
0.0
0.0
BUILD SUCCESSFUL (total time: 8 seconds)
Por favor ayudenme, se los agradeceré mucho.