PDA

View Full Version : در مورد تابع فاکتوریل



irwebnews
جمعه 15 اردیبهشت 1391, 20:00 عصر
سلام
در C یه تابع هست به نام fact که فاکتوریل عدد رو حساب میکنه. من داخل یک برنامه ، این تابع رو به کار بردم به صورت زیر :
factorial=i*fact(i-1)+factorial;
ولی کامپیلر من که borland cpp 5.02 هست خطا میگیره و میگه تابع تعریف نشده. undefined function 'fact'
من تابع pow رو هم به کار بردم که بدون مشکل عمل میکنه ولی این تابع fact خطا میده. از دوستان میخوام ، مشکل رو به من بگن. باتشکر

کل برنامه هم به صورت زیر هست.


#include<stdio.h>
#include<conio.h>
#include<math.h>
int n=9;
float plus(float);
float minus(float);
void main()
{
int x,x1,r,p,m;
printf("Enter a number");
scanf("%d",&x);
x1=x;
plus(x);
minus(x1);
p=plus(x);
m=minus(x1);
r=p-m;
printf("result=%d",r);
}
float plus(float num)
{
int i,tavan,count=1;
long int factorial=0,g=0;
float plusj;
for(i=1;count<=n/2;i+=4){
tavan=i;
g=pow(num,tavan)+g;
factorial=i*fact(i-1)+factorial;
count++;
}
plusj=(float)g/factorial;
return plusj;
}
float minus(float num)
{
int i,tavan,count=1;
long int factorial=0,g=0;
float minusj;
for(i=3;count<=(n/2)-1;i+=4)
{
tavan=i;
g=pow(num,tavan)+g;
factorial=i*fact(i-1)+factorial;
count++;
}
minusj=(float)g/factorial;
return minusj;
}

_hamid
جمعه 15 اردیبهشت 1391, 20:41 عصر
نه عزیز.
فرضیه ات غلطه.
نابعی بنام fact تو C تعریف نشده که فاکتوریل بگیره.