Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/11/2011, 18:21
juangebeboz
 
Fecha de Ingreso: octubre-2011
Mensajes: 15
Antigüedad: 12 años, 6 meses
Puntos: 1
Problema C++ serie

Este es el ejercicio:



Me da error en las líneas:

17 , 28 con el mismo error (comparison between signed and unsigned integer expressions).

y 36 (unused variable 'suma').

Y no sale el resultado.

Si alguien me podría ayudar se lo agradecería.
Muchas gracias.

Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. unsigned pedir_numero(){
  5.     unsigned n;
  6.  
  7.     cout << "Introduzca X: ";
  8.     cin >> n;
  9.  
  10.     return n;
  11. }
  12.  
  13. long potencia(unsigned n, unsigned cont){
  14.     long res=n;
  15.     int i;
  16.  
  17.     for(i=1; i<=cont; i++){
  18.         res=n*res;
  19.     }
  20.  
  21.     return res;
  22. }
  23.  
  24. long fact(unsigned cont){
  25.     long res=1;
  26.     int i;
  27.  
  28.     for(i=2; i<=cont; i++){
  29.         res=res*i;
  30.     }
  31.  
  32.     return res;
  33. }
  34.  
  35. double suma(unsigned n){
  36.     double res=0, suma=1;
  37.     bool comp=true;
  38.     unsigned cont=1;
  39.  
  40.     while(comp){
  41.         res=potencia(n, cont)/fact(cont);
  42.         if(res<0.0001){
  43.             comp=false;
  44.         }
  45.         cont++;
  46.     }
  47.  
  48.     return res;
  49. }
  50.  
  51. int main(){
  52.     double resultado;
  53.     unsigned numero;
  54.  
  55.     numero=pedir_numero();
  56.     resultado=suma(numero);
  57.  
  58.     return 0;
  59. }