• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

در مورد تابع فاکتوریل

irwebnews

Registered User
تاریخ عضویت
21 جولای 2011
نوشته‌ها
226
لایک‌ها
44
محل سکونت
Nowshahr
سلام
در 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;
}
 

Essin

Registered User
تاریخ عضویت
10 آپریل 2010
نوشته‌ها
910
لایک‌ها
270
محل سکونت
Internet
سلام
تابعش رو خودتون بنویسید و خیالتون رو راحت کنید

کد:
int fact (int i)
{
    if (i==0 || i==1)
        return 1;
    else
    {
        return i*fact(i-1);
    }
}
 

irwebnews

Registered User
تاریخ عضویت
21 جولای 2011
نوشته‌ها
226
لایک‌ها
44
محل سکونت
Nowshahr
سلام
تابعش رو خودتون بنویسید و خیالتون رو راحت کنید

کد:
int fact (int i)
{
    if (i==0 || i==1)
        return 1;
    else
    {
        return i*fact(i-1);
    }
}

قضیه اینطور هست که من نمیخوام واسش تابع تعریف کنم. چون من دو نوع i دارم. یکی iهای 1 و 5 و 9 و 13 و... هست. یکی هم iهای 3 و 7 و 11 و 15 و...
من این دوتا i رو داخل دوتا تابع تعریف کردم و نیاز دارم. چون بعد قرار این i ها یکی درمیون جمع و تفریق بشن ...
به هرحال شاید مجبور بشم بدون تابع فاکتوریل رو بنویسم...
 
بالا