Funcion para el factorial
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;
}
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;
}
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);
}
#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);
}
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
#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
