Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Error de código ... una ayuda plz

Estas en el tema de Error de código ... una ayuda plz en el foro de C/C++ en Foros del Web. Hola bueno, estoy tratando de hacer la serie de fibonacci recursivamente pero tengo problemas con el código...me gustaría saber cual es el problema... @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 19/12/2010, 13:22
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 10 meses
Puntos: 6
Error de código ... una ayuda plz

Hola bueno, estoy tratando de hacer la serie de fibonacci recursivamente pero tengo problemas con el código...me gustaría saber cual es el problema...


Código C++:
Ver original
  1. #include<iostream.h>
  2. #include<conio.h>
  3.  
  4.  
  5. int fibo(int n)
  6. {
  7.    
  8.     if (n==1 || n==2)
  9.        fibo= 1; //AQUI ME MANDA ERROR
  10.     else
  11.         fibo= fibo(n-1) + fibo(n-2); //AQUI IGUAL
  12.                  
  13. }
  14.  
  15. int main()
  16. {
  17.     int v, solucion;
  18.    
  19.     cout<<"Ingrese numero: "<<endl;
  20.     cin>> v;
  21.    
  22.     solucion= fibo(v);
  23.     cout<<solucion<<endl;
  24.     getche();  
  25.    
  26. }

los errores que me tira están en la función "fibo".....


ojala me puedan ayudar. De ante mano muchas gracias!
  #2 (permalink)  
Antiguo 19/12/2010, 13:31
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error de código ... una ayuda plz

Yo entiendo la recursividad a si no se si este bien saludos men

Código C++:
Ver original
  1. #include<iostream.h>
  2. #include<conio.h>
  3.  
  4.  
  5. int fibo(int n)
  6. {
  7.    
  8.     if (n==1 || n==2)
  9.        return  1;
  10.     else
  11.         return  fibo(n-1) + fibo(n-2);
  12.                  
  13. }
  14.  
  15. int main()
  16. {
  17.     int v;
  18.    
  19.     cout<<"Ingrese numero: "<<endl;
  20.     cin>> v;
  21.     cout<<fibo(v)<<endl;
  22.     getche();  
  23.    
  24. }
  #3 (permalink)  
Antiguo 19/12/2010, 13:37
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 10 meses
Puntos: 6
Respuesta: Error de código ... una ayuda plz

Cita:
Iniciado por vnvnation Ver Mensaje
Yo entiendo la recursividad a si no se si este bien saludos men

Código C++:
Ver original
  1. #include<iostream.h>
  2. #include<conio.h>
  3.  
  4.  
  5. int fibo(int n)
  6. {
  7.    
  8.     if (n==1 || n==2)
  9.        return  1;
  10.     else
  11.         return  fibo(n-1) + fibo(n-2);
  12.                  
  13. }
  14.  
  15. int main()
  16. {
  17.     int v;
  18.    
  19.     cout<<"Ingrese numero: "<<endl;
  20.     cin>> v;
  21.     cout<<fibo(v)<<endl;
  22.     getche();  
  23.    
  24. }
Implemente lo que tu dijiste pero no..tampoco funciona
gracias de todas maneras ;)
  #4 (permalink)  
Antiguo 19/12/2010, 13:47
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error de código ... una ayuda plz

Entonces quedaria de esta manera men

Código C++:
Ver original
  1. #include<iostream.h>
  2. #include<conio.h>
  3.  
  4.  
  5. int fibo(int n)
  6. {
  7.  
  8.     int fib;
  9.  
  10.     if(n==0||n==1){
  11.         fib=1;
  12.         return fib;
  13.     }
  14.     else{
  15.         fib=fibo(n-2) + fibo(n-1);
  16.         return fib;
  17.     }
  18. }
  19. int main()
  20. {
  21.     int v;
  22.    
  23.     cout<<"Ingrese numero: "<<endl;
  24.     cin>> v;
  25.     cout<<fibo(v)<<endl;
  26.     getche();  
  27.    
  28. }
  #5 (permalink)  
Antiguo 19/12/2010, 13:55
Avatar de Munire  
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Error de código ... una ayuda plz

estas aplicando el mismo algoritmo que has hecho para el problema de calcular el factorial, por eso no te funciona.

para la serie de fibonacci tienes que hacer otro algoritmo.

se empieza con 0 y 1, de manera que cada numero es la suma de los dos anteriores.

0 + 1 = 1

0 1 1

1+1=2

0 1 1 2

1+2=3

0 1 1 2 3


el algoritmo seria:

  #6 (permalink)  
Antiguo 19/12/2010, 14:11
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 10 meses
Puntos: 6
Respuesta: Error de código ... una ayuda plz

Cita:
Iniciado por vnvnation Ver Mensaje
Entonces quedaria de esta manera men

Código C++:
Ver original
  1. #include<iostream.h>
  2. #include<conio.h>
  3.  
  4.  
  5. int fibo(int n)
  6. {
  7.  
  8.     int fib;
  9.  
  10.     if(n==0||n==1){
  11.         fib=1;
  12.         return fib;
  13.     }
  14.     else{
  15.         fib=fibo(n-2) + fibo(n-1);
  16.         return fib;
  17.     }
  18. }
  19. int main()
  20. {
  21.     int v;
  22.    
  23.     cout<<"Ingrese numero: "<<endl;
  24.     cin>> v;
  25.     cout<<fibo(v)<<endl;
  26.     getche();  
  27.    
  28. }
Gracias!!
claro hay estaba la solución!
una ultima pregunta...
porque esta mal que yo ponga:

fibo= fibo(n-2) + fibo (n-1);

si no se supone que así se cumple la recursividad???

saludos y muchas gracias!!!
  #7 (permalink)  
Antiguo 19/12/2010, 14:20
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error de código ... una ayuda plz

Bueno no se si este bien pero creo que es por que llamas a tu funcion y le estas asignando valores con = y la funcion nada mas tiene 1 parametro mas no 2 esa es mi conclusion.
  #8 (permalink)  
Antiguo 19/12/2010, 14:44
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 10 meses
Puntos: 6
Respuesta: Error de código ... una ayuda plz

Cita:
Iniciado por vnvnation Ver Mensaje
Bueno no se si este bien pero creo que es por que llamas a tu funcion y le estas asignando valores con = y la funcion nada mas tiene 1 parametro mas no 2 esa es mi conclusion.
Si claro puede ser... Bueno muchas gracias por la ayuda, me sirvio bastante para entender recursividad

saludos!
  #9 (permalink)  
Antiguo 19/12/2010, 14:48
Avatar de Munire  
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Error de código ... una ayuda plz

Cita:
Iniciado por ras_chalo Ver Mensaje
Si claro puede ser... Bueno muchas gracias por la ayuda, me sirvio bastante para entender recursividad

saludos!
pero con ese programa sacas la sucesion de fibonacci?
  #10 (permalink)  
Antiguo 19/12/2010, 15:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error de código ... una ayuda plz

Cita:
Iniciado por Munire Ver Mensaje
pero con ese programa sacas la sucesion de fibonacci?
Si ya lo probe y funciona busque en wiki como va la serie y funciona al 100
  #11 (permalink)  
Antiguo 19/12/2010, 16:42
Avatar de Munire  
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Error de código ... una ayuda plz

Cita:
Iniciado por vnvnation Ver Mensaje
Si ya lo probe y funciona busque en wiki como va la serie y funciona al 100
pero como va a funcionar si solo devuelve un numero...


a ti te parece esto la serie de fibonacci??

(he cambiado getch() por system("pause") )

Ingrese numero:
6
13
Presione una tecla para continuar . . .
  #12 (permalink)  
Antiguo 19/12/2010, 17:28
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Error de código ... una ayuda plz

No esta buscando que imprima la serie de fibonacci. Esta buscando solamente que imprima el numero que le piden.

Creo que esta buscando eso.
  #13 (permalink)  
Antiguo 19/12/2010, 17:51
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: Error de código ... una ayuda plz

A si es sam90 nada mas quiere que imprima el numero si quisiera la serie usaria un bucle for esto nada mas es recursividad rutilizacion de codigo simple mente 2 casos decremento y base
  #14 (permalink)  
Antiguo 19/12/2010, 21:16
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 10 meses
Puntos: 6
Respuesta: Error de código ... una ayuda plz

La verdad que no se compliquen..solo estaba creando el código para ir practicando recursividad... pero con eso que se logro es suficiente... no era tarea ni nada...

De todas maneras-...Muchas gracias por la atención ;)
saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:31.