• Sábado 14 de Diciembre de 2024, 23:44

Autor Tema:  Problemas con una sumatoria...  (Leído 1096 veces)

ermiguel1979

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
Problemas con una sumatoria...
« en: Jueves 21 de Enero de 2010, 08:07 »
0
Buenos días, necesito ayuda con un programa que, dados dos arrays X e Y de reales de tamaño n (ambos), calcule la siguiente sumatoria por medio de un subalgoritmo: SUMi=1...n (Xi * SUMk=1...i(Yk/Xi-k+1)).

Os envío el código que llevo, que tiene problemas a la hora de calcular la sumatoria. (Por cierto, donde puse SUM va el símbolo de sumatorio).

Código: C
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. #define TAMA 20
  6.  
  7. /*---------FUNCION-sumatoria------------------------------------------------*/
  8. float sumatoria(float X[TAMA], float Y[TAMA], int n){
  9.    
  10.     float resultado=0;
  11.     int i, k;               //contadores de la sumatoria
  12.     float aux=0;
  13.    
  14.     for(i=0; i<n; i++){
  15.         for(k=0; k<i; k++){
  16.             aux=aux+(Y[k]/X[i-k+1]);
  17.         }
  18.     }
  19.    
  20.     for(i=0; i<n; i++){
  21.         resultado=resultado+(X[i]*aux);
  22.     }
  23.    
  24.     return resultado;
  25. }
  26. /*------------------------------------------------------------------------*/
  27.  
  28. /*Algoritmo--> SUMATORIAS*/
  29. int main (void){
  30.    
  31.     float X[TAMA], Y[TAMA];
  32.     int n;                      //nº terminos de la sumatoria
  33.     int tam;                    //tamaño de X e Y
  34.     float total;                //salida
  35.     int i;                      //contador de 1 hasta 'n'
  36.     int k;                      //contador de 1 hasta 'i'
  37.     int j;
  38.    
  39.     printf("Introduce numero de terminos de la sumatoria: ");
  40.     scanf("%i", &n);
  41.     printf("Introduce la dimension de los arrays X e Y: ");
  42.     scanf("%i", &tam);
  43.     printf("Complete array Xn");
  44.     for(j=0; j<tam; j++){
  45.         printf("elemento[%i]", j);
  46.         scanf("%f", &X[j]);
  47.     }
  48.     printf("Complete array Yn");
  49.     for(j=0; j<tam; j++){
  50.         printf("elemento[%i]", j);
  51.         scanf("%f", &Y[j]);
  52.     }
  53.    
  54.     total=sumatoria(X, Y, n);
  55.     printf("El total calculado es: %fn", total);
  56.    
  57.     return 0;  
  58. }
  59.  


El ejercicio tengo que entregarlo en PSEUDOCÓDIGO. Lo hice, lo he implementado con este código que os mando y eso es lo que hace.

Chicos, GRACIAS.

Un saludo!!

ermiguel1979

  • Miembro activo
  • **
  • Mensajes: 45
    • Ver Perfil
Re: Problemas con una sumatoria...
« Respuesta #1 en: Jueves 21 de Enero de 2010, 08:11 »
0
Lo siento, me he pasado con los subíndices, a ver si ahora sí. La sumatoria es:
SUMi=1...n (Xi * SUMk=1...i (Yk/Xi-k+1))

Saludos..