Ver Mensaje Individual
  #8 (permalink)  
Antiguo 10/10/2012, 14:09
sonrasiel
 
Fecha de Ingreso: septiembre-2012
Mensajes: 29
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: problemas al ejecutar una función recursiva.

ya leido el tema no doy pie con bola, paraentemente es facil pero la sintaxis me esta matando.

Código C++:
Ver original
  1. #include <iostream>
  2. #include <cstdlib>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. void tam (float a)
  8. {
  9.    
  10. if ( (-1 > a) || (a > 1) ){
  11.     int x=0,*b,c;
  12.     return tam  (a/10);
  13.         x++;
  14.           b=x;
  15.           *b=c;
  16.         //return b;
  17.         cout<< b <<",";    
  18. }
  19. else{
  20. //b;
  21. }}
  22. int main()
  23. {
  24. int c;
  25. float num;
  26. //float *num;
  27. cout<< "introduzca el numero";  
  28. cin>>num;
  29. num=tam//*num=tam
  30. cout<<" el tamaño es "<< c;  
  31. system("pause");
  32. return 0;
  33. }

este el el informe de errores

C:\Documents and Settings\bibliotecas.UNAL\Mis documentos\numero.cpp: In function `void tam(float)':
C:\Documents and Settings\bibliotecas.UNAL\Mis documentos\numero.cpp:14: error: invalid conversion from `int' to `int*'

C:\Documents and Settings\bibliotecas.UNAL\Mis documentos\numero.cpp: In function `int main()':
C:\Documents and Settings\bibliotecas.UNAL\Mis documentos\numero.cpp:30: error: cannot convert `void ()(float)' to `float' in assignment
C:\Documents and Settings\bibliotecas.UNAL\Mis documentos\numero.cpp:30: error: expected `;' before "cout"


segun lo veo hasta la linea 13 se ejecuta el bucle.
linea 14 copio el valor de x.
linea 15 apunto el valor de 15 en la variable c del main.
imprime c = al ultimo valor de x.
tengo duda con el void no entiendo es como si no aceptara una variable tipo float no me queda claro ese error.
si no lo logro sera tratar de hacer una funcion main recursiva debe ser mas facil que andar llamando valores desde otras funciones, aunque donde estudie eso no lo explican muy bien ya que el ejemplo que vi son apuntadores funciones que apuntan a otras funciones.

Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int addition (int a, int b)
  5. { return (a+b); }
  6.  
  7. int subtraction (int a, int b)
  8. { return (a-b); }
  9.  
  10. int operation (int x, int y, int (*functocall)(int,int))
  11. {
  12.   int g;
  13.   g = (*functocall)(x,y);
  14.   return (g);
  15. }
  16.  
  17. int main ()
  18. {
  19.   int m,n;
  20.   int (*minus)(int,int) = subtraction;
  21.  
  22.   m = operation (7, 5, addition);
  23.   n = operation (20, m, minus);
  24.   cout <<n;
  25.   return 0;
  26. }

Última edición por sonrasiel; 10/10/2012 a las 14:18