Ver Mensaje Individual
  #14 (permalink)  
Antiguo 01/06/2015, 00:53
Avatar de xKuZz
xKuZz
 
Fecha de Ingreso: febrero-2015
Ubicación: nullptr
Mensajes: 183
Antigüedad: 10 años, 1 mes
Puntos: 27
Respuesta: Ejercicio de suma C++

Tu problema reside en que todo lo que está dentro del paréntesis son valores enteros y por tanto c++ te los resolverá como valores enteros (truncando y, por tanto, perdiendo la parte decimal). Una forma de solucionarlo es multiplicar alguno de esos valores por 1.0 o cambiar esos 1 que tienes puestos por 1.0 de tal manera que ahora al ser 1.0 c++ interpreta que no estás trabajando con enteros. Yo lo haría convirtiendo dichos 1 a 1.0 por que lo considero la solución que menos ensucia el código.

Código C++:
Ver original
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3. #include <math.h>
  4. #include <conio.h>
  5. #include <iostream>
  6. using namespace std;
  7.  
  8. double suma(double n) {
  9. int i;
  10. double a =0;
  11. for (i=-20;i<=n;i++) {
  12.     if (i==-1) continue;
  13. a=a+(i/((i+1.0)*(i+1.0)));
  14. }
  15. return a;
  16. }
  17. int main(){
  18. double n;
  19. cout<<"Ingrese el valor de n: ";
  20. cin>>n;
  21. cout<<"Resultado de la suma es: "<<suma(n)<<endl;
  22. getch();
  23. }