Olá pessoal estou com uma dúvida nesse código, que é para fazer uma média móvel, ou seja o programa deve ir lendo valores e armazenando numa variável, e ir somando essas variáveis e quando chegar a 3 deve se dividir por 3. Isso é fácil o problema é depois do 3° numero o programa tem que continuar somando a média mas sempre dos ultimos tres numeros Ex: n1= 2 n2 =2 n3 =2 media = n1+n2+n3 / 3 = resultado: 2 n4=3 media = n2+n3+n4 / 3 = resultado: 2,6 n5=7 media = n3+n4+n5 / 3 = resultado: 4 E assim por diante, claro que não vou criar uma variável para cada numero e sim um vetor n, para ler os numeros, mas já tentei quebrar a cabeça e não consigo fazer funcionar essa parte de somar só os três últimos números lidos, é bem mais difícil do que parece Vejam o que eu tentei: #include<stdio.h>
#include<stdlib.h>
main(){
int m1, m2, m3, m4;
int media_movel, soma, n[10], i;
float media;
for (i=0; i<10; i++){
[/b] scanf("%d", &n[i]);
if (i<2){
media=n[i];
printf("%.1f\n", media);
}
if (i==2){
soma= n[0]+n[1]+n[2];
media=(n[0]+n[1]+n[2])/3;
printf("%.1f\n", media);
}
if (i>2){
media=soma+n[i];
printf("%.1f\n", media);
media_movel=media-(n[i]-n[i-3])/3;
printf("%.1f\n", n[i]-3);
printf("%d\n", media_movel);
}
}getch();
}