A continuación,utilizando otro bucle, realizar la media de los números positivos, la media de los negativos y la suma total.
Y finalmente muestra las medias y la suma total.
Ejemplo:
| 13 | 16 | -30 | -38 | 0 | -47 | -27 | 48 | 45 | -43 |
Media Positivos: 30.50
Media Negativos: -30.83
Suma Total: -63
SOLUCIÓN EN JAVA:
package arraymediapositivosnegativos;
public class ArrayMediaPositivosNegativos {
public static void main(String[] args) {
int numeros[]=new int[10];
int i, sumaTotal=0, positivos=0, negativos=0;
float mediaPositivos=0, mediaNegativos=0;
//Primero lleno el array con números aleatorios del 1 al 100
for (i=0;i<numeros.length;i++){
numeros[i]=(int)(Math.random()*101-50);
System.out.print(numeros[i]+" ");
}
System.out.println();
//Ahora hago el recorrido del array actualizando las medias y el total
//según sea el valor del elemento del array evaluado en cada iteración
for (i=0;i<numeros.length;i++){
sumaTotal+=numeros[i];
if (numeros[i]>0){
mediaPositivos+=numeros[i];
positivos++;
}
else {
mediaNegativos+=numeros[i];
negativos++;
}
}
//Ahora tocal calcular las medias reales dividiendo por el número de elementos
if (positivos>0) mediaPositivos=mediaPositivos/positivos;
if (negativos>0) mediaNegativos=mediaNegativos/negativos;
//Mostramos los resultados utilizo el formato %.2f para que imprima 2 decimales
System.out.printf("Media Positivos: %.2f\n",mediaPositivos);
System.out.printf("Media Negtivos: %.2f\n",mediaNegativos);
System.out.printf("Suma Total: %d\n", sumaTotal);
}
}
No hay comentarios:
Publicar un comentario