Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: indict en 8 Noviembre 2012, 18:42 PM

Título: calcular media aritmética con while
Publicado por: indict en 8 Noviembre 2012, 18:42 PM
Hola, quiero calcular la media aritmética con el bucle while y usando un centinela.

No me calcula bien el promedio, si pudierais decirme que fallo hay.

#include<iostream>
using namespace std;
int main(){
double suma,n;
int contador=0;
cin>>n;
while(n!=-1){
            suma=suma+n;
            contador=contador+1;
            cin>>n;}
            cout<<suma/contador<<endl;
           

system("PAUSE");
return 0;
}


Un saludo
Título: Re: calcular media aritmética con while
Publicado por: indict en 8 Noviembre 2012, 18:50 PM
Lo he echo bien :D,

gracias de todos modos.
Título: Re: calcular media aritmética con while
Publicado por: Caster en 8 Noviembre 2012, 18:52 PM
Me ha dado tiempo a ver tu fallo, y era que la linea
Código (cpp) [Seleccionar]
cin>>n;
la tenias fuera del bucle while.

Saludos
Título: Re: calcular media aritmética con while
Publicado por: Ferno en 8 Noviembre 2012, 18:57 PM
Cita de: Caster en  8 Noviembre 2012, 18:52 PM
Me ha dado tiempo a ver tu fallo, y era que la linea
Código (cpp) [Seleccionar]
cin>>n;
la tenias fuera del bucle while.

Saludos

No. Tiene otro dentro del bucle.
El único problema que le veo es que la variable "suma" no está inicializada a 0 (no creo que haya problema, pero debería estarlo :P).

Por lo demás, aparentemente está bien.
Título: Re: calcular media aritmética con while
Publicado por: Caster en 8 Noviembre 2012, 18:58 PM
Su mensaje esta editado, la primera vez que habia posteado, el que esta dentro del bucle, lo tenia fuera, y por eso digo que me dio tiempo a verlo.

Saludos
Título: Re: calcular media aritmética con while
Publicado por: Ferno en 8 Noviembre 2012, 20:27 PM
Cita de: Caster en  8 Noviembre 2012, 18:58 PM
Su mensaje esta editado, la primera vez que habia posteado, el que esta dentro del bucle, lo tenia fuera, y por eso digo que me dio tiempo a verlo.

Saludos

Ups! Perdón entonces :P
Título: Re: calcular media aritmética con while
Publicado por: leosansan en 8 Noviembre 2012, 22:49 PM
Con system creo que necesitas cstdlib:
Código (cpp) [Seleccionar]
#include<iostream>
#include <cstdlib>
using namespace std;
    int main(){
    double suma=0,n;
    int contador=0;
    cout << "Introduzca numero: " ;
    cin>>n;
    while(n>0){
        suma+=n;
        contador+=1;
        cout << "Introduzca numero: " ;
        cin>>n;
    }
    cout<<suma/contador<<endl;
    system("pause");
    return 0;
}

Saludos!.