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

Problema muy básico...

Estas en el tema de Problema muy básico... en el foro de C/C++ en Foros del Web. Hola que tal. bueno estoy aprendiendo algunas cosas de c++, y bueno toy practicando y no logro correr esto.. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C++: Ver original ...
  #1 (permalink)  
Antiguo 18/12/2010, 21:03
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 10 meses
Puntos: 6
Problema muy básico...

Hola que tal. bueno estoy aprendiendo algunas cosas de c++, y bueno toy practicando y no logro correr esto..
Código C++:
Ver original
  1. #include<iostream.h>
  2. #include<conio.h>
  3.  
  4. int factorial(int n) {
  5.     if (n == 0)
  6.         return 1;
  7.     else
  8.         return n*factorial(n-1);
  9. }
  10.  
  11. int main()
  12. {
  13. int v;
  14.     cout<<"ingrese dato"<<endl;
  15.     cin>>v;
  16.    
  17.     factorial= v;
  18.    
  19.    
  20.    
  21.     getche();
  22. }


bueno si se fijan, estoy tratando de sacar el factorial recursivamente...algo simple pero en el main() no se como lograr que entre en la función factorial...me pueden ayudar y enseñarme como se hace?...

saludos! y espero sus respuestas!!
  #2 (permalink)  
Antiguo 19/12/2010, 05:21
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: Problema muy básico...

Código C:
Ver original
  1. #include<iostream.h>
  2. #include<conio.h>
  3.  
  4. int factorial(int n) {
  5.     if (n == 0)
  6.         return 1;
  7.     else
  8.         return n*factorial(n-1);
  9. }
  10.  
  11. int main()
  12. {
  13.     int v, solucion;
  14.     cout<<"ingrese dato"<<endl;
  15.     cin>>v;
  16.    
  17.     solucion = factorial(v);
  18.      
  19.     getche();
  20. }

lo que hace la linea 17 es pasar por valor la v, es decir copia la "v" en la "n", y lo que devuelve la funcion (return) lo asigna a solucion.

int factorial(int n)

factorial(v)

lo que hace es esto: int n = v para utilizar la "n" dentro de la funcion como copia de "v".
  #3 (permalink)  
Antiguo 19/12/2010, 06:39
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 10 meses
Puntos: 6
Pregunta Respuesta: Problema muy básico...

Cita:
Iniciado por Munire Ver Mensaje
Código C:
Ver original
  1. #include<iostream.h>
  2. #include<conio.h>
  3.  
  4. int factorial(int n) {
  5.     if (n == 0)
  6.         return 1;
  7.     else
  8.         return n*factorial(n-1);
  9. }
  10.  
  11. int main()
  12. {
  13.     int v, solucion;
  14.     cout<<"ingrese dato"<<endl;
  15.     cin>>v;
  16.    
  17.     solucion = factorial(v);
  18.      
  19.     getche();
  20. }

lo que hace la linea 17 es pasar por valor la v, es decir copia la "v" en la "n", y lo que devuelve la funcion (return) lo asigna a solucion.

int factorial(int n)

factorial(v)

lo que hace es esto: int n = v para utilizar la "n" dentro de la funcion como copia de "v".
Gracias!!
lo e implementado como tu me dijiste...pero sabes que no me entra a la función factorial... es decir... muestra "ingrese un numero". tecleo alguno..y se cierra...incluso si tecleo "0" este no me retorna "1"...

que puede ser?
saludos!

Última edición por ras_chalo; 19/12/2010 a las 06:46
  #4 (permalink)  
Antiguo 19/12/2010, 08:02
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Problema muy básico...

Pasa que nadie dijo que lo iba a imprimir en pantalla.
Para que un valor se imprima en pantalla utiliza el printf:

printf("Valor: %d \n",solucion);
  #5 (permalink)  
Antiguo 19/12/2010, 09:30
Avatar de ras_chalo  
Fecha de Ingreso: junio-2010
Mensajes: 369
Antigüedad: 13 años, 10 meses
Puntos: 6
Respuesta: Problema muy básico...

Cita:
Iniciado por sam90 Ver Mensaje
Pasa que nadie dijo que lo iba a imprimir en pantalla.
Para que un valor se imprima en pantalla utiliza el printf:

printf("Valor: %d \n",solucion);
pucha que soy noob xD!
en fin...muchas gracias me has ayudado mcuho ;)

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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:53.