Foros aprenderaprogramar.com

Aprender a programar => De todo un poco... => Mensaje iniciado por: yosoyfm en 22 de Septiembre 2016, 05:09

Título: java programa captura datos calcula estadísticas media moda desviación estándar
Publicado por: yosoyfm en 22 de Septiembre 2016, 05:09
Hola soy nuevo en esto y apenas estoy en cursos básicos de programación pero en la escuela  me piden hacer un programa muy complejo para mí.

¿Me podrían ayudar?
 
Se tiene que hacer:
 
Capturar edades:
solicitar al usuario la cantidad de edades a capturar.
capturar la cantidad de edades solicitadas (enteros)

Calcular:

La media
La moda
Desviación estándar

Gracias por su apoyo y ayuda
Título: Re:java captura de edades solicitar cantidad de edades
Publicado por: DRANXZ88 en 22 de Septiembre 2016, 21:50
Hola acá te envió un código para poder guiarte si por ahí te sirve.
Código: [Seleccionar]
package proyectoejemplo;

import java.util.Scanner;

public class ProyectoEjemplo {

    public static void main(String[] args) {

        int contador = 0;
        double suma = 0.0;
        int maximaVecesQueSeRepite = 0;
        int moda = 0;
        double varianza = 0.0;
        double desviacion = 0.0;
        Scanner ingresar = new Scanner(System.in);
        System.out.print("Ingrese la cantidad de edades a registrar:");

        contador = ingresar.nextInt();
        int[] edad = new int[contador];
        //Codigo para sacar la media
        for (int i = 0; i < contador; i++) {
            System.out.println("Ingrese edad: ");
            edad[i] = ingresar.nextInt();
            suma = suma + edad[i];
        }
        double media = suma / contador;
        //Codigo para sacar la moda.
        for (int i = 0; i < edad.length; i++) {
            int vecesQueSeRepite = 0;
            for (int j = 0; j < edad.length; j++) {
                if (edad[i] == edad[j]) {
                    vecesQueSeRepite++;
                }
            }
            if (vecesQueSeRepite > maximaVecesQueSeRepite) {
                moda = edad[i];
            }
        }
        //Codigo para sacar la desviacion estandar
        for (int i = 0; i < edad.length; i++) {
            double rango;
            rango = Math.pow(edad[i] - media, 2f);
            varianza = varianza + rango;
        }
        varianza = varianza / 10f;//suma de diferencias sobre "n"
        //teniendo ya la varinza solo debemos sacarle raiz cuadrada
        //tendremos la desviación estandar
        desviacion = Math.sqrt(varianza);

        System.out.println("La media es " + media);
        System.out.println("La moda es " + moda);
        System.out.println("Desviacion estandar: " + desviacion);
    }

}
Título: Re:java captura de edades solicitar cantidad de edades
Publicado por: DRANXZ88 en 23 de Septiembre 2016, 00:51
Hola he cometido un error ahora revise de nuevo mi código el error esta donde dice.
Código: [Seleccionar]
varianza = varianza / 10f;Tiene que ser.
Código: [Seleccionar]
double n = edad.length;
        varianza = varianza / n;