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 original
float suma=0,Prom=0, menor, mayor=0; int i=0, j=0, a=0; int Numcalif=lee.nextInt(); float array1[]=new float[Numcalif]; float array2[]=new float[Numcalif]; float array3[]=new float[Numcalif]; 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++; } } for(i=0;i<array2.length;i++) for(i=0;i<array3.length;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 original
run: ¿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.