• Lunes 23 de Diciembre de 2024, 16:33

Autor Tema:  Como Hago Esta Suma?  (Leído 1042 veces)

laupotter

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Como Hago Esta Suma?
« en: Domingo 30 de Abril de 2006, 00:57 »
0
Hola a todos quisiera pedirles ayuda en este programa, no se como se indica esta formula:

st= (x1+x2+....+xn)/n

bueno la parte que no se de indicar de esta formula es la parte de la suma, mi programa es de promedios moviles dobles y no he podido avanzar por esta formula, esta formula debe servir para n=3,4,5,6,7 y 8. Lo que hice es na funcion que recibe como parametro a n para que asi la formula sirva para todas las n's pero no se como indicar la suma. Este es el codigo que tengo :
Código: Text
  1.  
  2. #include <iostream.h>
  3. #include <conio.h>
  4. #include <stdlib.h>
  5.  
  6. int p[25],n=3;
  7. float pse,mpe,mape,mse,mae,me;
  8. float  vr[25]={140,159,136,157,173,131,177,188,154,179,180,160,182,192,
  9.           224,188,198,206,203,238,228,231,221,259,273};
  10. int a;
  11. void simple(int);
  12.  
  13. int main()
  14. {
  15.     int f=1;
  16.     clrscr();
  17.     for(int i=0;i<25;i++)
  18.      {
  19.       gotoxy(5,f); cout<<vr[i];
  20.          f++;
  21.      }
  22.      simple(n);
  23. }
  24.  
  25. void simple(int n)
  26. {
  27.    float st[25];
  28.    int y=n;
  29.   for(int x=1;x<=n;x++)
  30.    {
  31.      st[i]=sum+(vr[i]+vr[i+1])/n;
  32.       gotoxy(10,y); cout<<st[i];
  33.       y++;
  34.       //return st[i];
  35.       getch();
  36.    }
  37. }
  38.  

Espero puedan ayudarme, espero que me puedan ayudar, solo les pido que me digan como se hace la suma y ya de ahi yo le sigo porfis!! :ayuda:

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Como Hago Esta Suma?
« Respuesta #1 en: Domingo 30 de Abril de 2006, 06:44 »
0
¿La suma la realizas dentro de la función simple, verdad? Allí estás realizándola mal pues estás almacenando el resultado de un par de elementos contiguos de vr en cada posición de st, no estás realizando la suma de todos los elementos de vr. Para hacerlo simplemente inicializa una variable en 0, realiza el ciclo y súmale a dicha variable el contenido del array vr en la posición indicada por tu variable contador en el ciclo.

A mi me parecería mejor algo como esto:

Código: Text
  1.  
  2.  
  3. float lasX[] = { 140, 159, ... };
  4.  
  5. float suma = 0;
  6.  
  7. for ( int x = 1; i <= n; i++ ) {
  8.   suma += lasX[ i - 1 ];
  9. }
  10.  
  11. // La suma está en la variable suma,
  12. // ahora la dividirías entre n:
  13. float resultado = suma / n;
  14.  
  15.  
  16.  

Saludos,
José Jorge (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip

laupotter

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Como Hago Esta Suma?
« Respuesta #2 en: Domingo 30 de Abril de 2006, 18:31 »
0
Muchisimas gracias, con esto que me dijiste ya me salio. Te agradezco mucho :D