elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Funcion recursiva
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funcion recursiva  (Leído 2,967 veces)
Albertocn

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Funcion recursiva
« en: 19 Febrero 2014, 04:02 am »

Hola qué tal, nuevamente yo por aquí, lo que pasa es que tengo un ligero problemilla con esta función, se supone que me debe dar el numero factorial de un numero que ingrese, pero no necesito que me imprima sólo el resultado, si no algo parecido a esto, se que va con un printf que se debe poner dentro de la función, el problema es que no me sale, esto es lo que llevo hasta el momento.
Si me pueden decir como insertar una imagen se los agradeceria mucho.

Código:
#include <stdlib.h>
#include <stdio.h>


int factorial(int n)
{
 if(n<0)
return 0;
 else
 if(n>1)
return n*factorial(n-1);
 return 1;
 
}

void main()

{
int n;
printf("Ingresa un numero del cual desees obtener su factorial");
scanf("%d",&n);
factorial(n);
system("PAUSE");
}


En línea

Albertocn

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Funcion recursiva
« Respuesta #1 en: 19 Febrero 2014, 04:03 am »



En línea

Albertocn

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Funcion recursiva
« Respuesta #2 en: 19 Febrero 2014, 04:06 am »

Este es el codigo, no el anterior.
Código:
#include <stdlib.h>
#include <stdio.h>


int factorial(int n)
{
 if(n<0)
return 0;
 else
 if(n>1)
return n*factorial(n-1);
 return 1;
 
}

void main()

{
int n;
printf("Ingresa un numero del cual desees obtener su factorial");
scanf("%d",&n);
printf("El factorial es %d", factorial(n);
system("PAUSE");
}
En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Funcion recursiva
« Respuesta #3 en: 19 Febrero 2014, 08:24 am »

Código
  1. int factorial(int n)

La función factorial te devuelve un entero... recógelo en el main y muéstralo con un printf.
En línea

BlackM4ster


Desconectado Desconectado

Mensajes: 499


Error, el teclado no funciona. Pulse F1 para continuar


Ver Perfil WWW
Re: Funcion recursiva
« Respuesta #4 en: 19 Febrero 2014, 08:32 am »

Te falta un paréntesis en
printf("El factorial es %d", factorial(n));
Y la función parece estar correctamente implementada :huh:
« Última modificación: 19 Febrero 2014, 08:34 am por BlackM4ster » En línea

- Pásate por mi web -
https://codeisc.com
BlackM4ster


Desconectado Desconectado

Mensajes: 499


Error, el teclado no funciona. Pulse F1 para continuar


Ver Perfil WWW
Re: Funcion recursiva
« Respuesta #5 en: 19 Febrero 2014, 08:39 am »

Si, la he probado, y definitivamente funciona bien

Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4.  
  5. int factorial(int n) {
  6. if(n<0)
  7. return 0;
  8. else
  9. if(n>1)
  10. return n*factorial(n-1);
  11. return 1;
  12. }
  13.  
  14. int main(){
  15. int n;
  16. printf("Ingresa un numero del cual desees obtener su factorial: ");
  17. scanf("%d",&n);
  18. printf("\nEl factorial es %d\n", factorial(n));
  19. system("PAUSE");
  20. }

Código:
Ingresa un numero del cual desees obtener su factorial: 7

El factorial es 5040
Presione una tecla para continuar . . .
En línea

- Pásate por mi web -
https://codeisc.com
Albertocn

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Funcion recursiva
« Respuesta #6 en: 19 Febrero 2014, 14:46 pm »

¿Y cómo le hago para que en vez de arrojarme el resultado, me arroje el procedimiento del factorial paso por paso? Es para dar a entender al que ve el resultado en pantalla cómo funciona el factorial de un numero.
En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Funcion recursiva
« Respuesta #7 en: 19 Febrero 2014, 14:47 pm »

¿Y cómo le hago para que en vez de arrojarme el resultado, me arroje el procedimiento del factorial paso por paso? Es para dar a entender al que ve el resultado en pantalla cómo funciona el factorial de un numero.

Pon un printf dentro de la función factorial... pero dudo que eso te aporte algo.
En línea

BlackM4ster


Desconectado Desconectado

Mensajes: 499


Error, el teclado no funciona. Pulse F1 para continuar


Ver Perfil WWW
Re: Funcion recursiva
« Respuesta #8 en: 19 Febrero 2014, 19:14 pm »

._____.
En línea

- Pásate por mi web -
https://codeisc.com
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Funcion recursiva
« Respuesta #9 en: 19 Febrero 2014, 19:50 pm »

¿Y cómo le hago para que en vez de arrojarme el resultado, me arroje el procedimiento del factorial paso por paso? Es para dar a entender al que ve el resultado en pantalla cómo funciona el factorial de un numero.


Citar
Ingresa un numero del cual desees obtener su factorial: 8

El factorial de 8 es: 8! = 8*7*6*5*4*3*2*1 = 40320
Presione una tecla para continuar . . .


Aporta qué diablos calcula factorial para alguien que no lo sepa:

Código
  1. #include <stdio.h>
  2.  
  3. int factorial(int n) {
  4.  
  5. if(n<=1){
  6.    printf("1");
  7.    return 1;
  8. }
  9.  
  10. else if(n>1){
  11.      printf("%d*",n);
  12.      return n*factorial(n-1);
  13. }
  14. }
  15.  
  16. int main(){
  17. int n;
  18. printf("Ingresa un numero del cual desees obtener su factorial: ");
  19. scanf("%d",&n);
  20. if(n<0){
  21.    printf("El numero ha de ser mayor o igual a cero");
  22.    return 1;
  23. }
  24. printf("\nEl factorial de %d es: %d! = ",n,n);
  25. printf(" = %d\n", factorial(n));
  26. return 0;
  27. }


¡¡¡¡ Saluditos! ..... !!!!



« Última modificación: 20 Febrero 2014, 16:06 pm por leosansan » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Función recursiva de búsqueda.
Programación C/C++
APOKLIPTICO 1 2,190 Último mensaje 4 Junio 2010, 21:51 pm
por [D4N93R]
Duda con función recursiva « 1 2 »
Programación C/C++
DickGumshoe 16 5,821 Último mensaje 8 Junio 2012, 05:02 am
por Ferno
Ayuda con función recursiva.
Programación C/C++
Javi.24 1 1,853 Último mensaje 16 Junio 2012, 05:41 am
por GuzmanG
Peculiar función recursiva
Programación C/C++
geeke 1 1,158 Último mensaje 4 Febrero 2015, 01:28 am
por avesudra
Función recursiva en C++
Programación C/C++
david2015 4 1,933 Último mensaje 22 Mayo 2015, 03:14 am
por Gunhack
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines