calcular la media movil de las ultimas 2 cifras introducidas en c

Iniciado por kikian94, 17 Noviembre 2012, 19:20 PM

0 Miembros y 2 Visitantes están viendo este tema.

kikian94

Hola, tengo que hacer un programa que calcule la media aritmetica de los dos ultimos valores introducidos por teclado pero no se que tengo que hacer por que al definir las variables me hago un lio ej:
primer valor 10, media 10
segundo valor 2, media 6
tercer valor 6, media 4
y asi sucesivamente alguien sabe que debo de hacer?

Beakman

Vas sumando los valores en una sola variable. Y luego dividis esa variable por la cantidad de valores ingresados.
Si lo hacés con un while/for/etc. en cada vuelta sumás el valor y al final lo dividis por la cantidad de vueltas.

kikian94

#2
y como lo hago?
por que tengo un lio con los bucles, los for y los while...
soy bastante novato
gracias
solo tengo que hacer la media de las ultimas dos cifras que yo haya introducido no de todas, por eso no me sale, si fueran todas seria mucho mas sencillo

Beakman

Podés hacerlo de muchas formas. Supongamos que quieras hacerlo con un vector/array de dos elementos.
Tendrías algo como int array[2]; . En cada vuelta del ciclo asignás el número ingresado en la posición correspondiente del array. Primero se ingresa en la posición cero, después en la posición uno, si hay otra vuelta más se ingresa nuevamente en la posición cero,  si hay otra vuelta luego se asigna el nuevo valor en la posición uno. De esta forma se sobrescribe el valor anterior dejando siempre los últimos dos números ingresados.
Al finalizar el ciclo simplemente mostrarías ( array[0] + array[1] ) / 2;

Se entiende ?

kikian94

el tema de los array me cuesta bastante no se puede hacer con while?


Beakman

Cita de: kikian94 en 17 Noviembre 2012, 21:13 PM
el tema de los array me cuesta bastante no se puede hacer con while?
Si, precisamente en un while cargas los datos. Lo de los array lo decía por decir una forma. Pero podés usar dos variables por separado. De todas formas creo que lo que te dije de sobrescribir los valores con cada vuelta del while es la forma más sencilla.