Funcion para el factorial

campello
31 de Julio del 2009
Estoy empezando y tengo dudas de como poner una funcion para el cálculo del factorial de un número. Aqui os dejo el código a ver si alguien se anima y me echa una mano que es muy fácil (para vosotros expertos).
Gracias de antemano !! ;)

#include <iostream.h>

int facto(int a,b,fact=1) // funcion que Calcula el factorial

for (b=a; b>=1;b--) fact=fact*b
return fact;

main()
{

int a,b; // variables locales declaradas al principio de un bloque

cout << "Introduzca un numero: ";
cout <<"n";
cin >> a;

cout<<"El factorial es: ";
cout<<facto(a);

return 0;
}



asd
31 de Julio del 2009
sadasdasd

mapechuca
31 de Julio del 2009
prueba con esto, its senser)))


#include <iostream.h>
int factorial(int n); //prototipo
int main(){
int n;
cout<<"numero para calcular el factorial:"<<endl;
cin>>n;
cout<<"el factorial es: "<<factorial(n)<<endl;
cin.ignore();
cin.get();
return 0;
}
int factorial(int n){
if(n<=1)
return 1;
else
return n*factorial(n-1);
}

Firm
31 de Julio del 2009
A ver, lo tienes mal todo. Te has leido algo sobre funciones? Porque parece que no... deberias hacer esto:

#include <iostream.h>

int facto(int a,b,fact=1) // ESTA MAL, DEBES DECLARAR EL PROTOTIPO DE FUNCION DE MANERA CORRECTA

for (b=a; b>=1;b--) fact=fact*b <--ESTO SOBRA AQUI
return fact; <----

main()
{

int a,b; // variables locales declaradas al principio de un bloque

cout << "Introduzca un numero: ";
cout <<"\n";
cin >> a;

cout<<"El factorial es: ";
cout<<facto(a); DEBES LLAMAR A LA FUNCION PERO COMO LAS HAS DECLARADO MAL, ESTA MAL

return 0;
}


AQUI DEBES CREAR LA FUNCION QUE VA A CALCULAR EL FACTORIAL, TENIENDO EN CUENTA LO QUE DECLARASTE EN EL PROTOTIPO