مشاهده نسخه کامل
: محاسبه ی مجموع فاکتوریل (visual c++ 6)
Lover_Football
07-01-2011, 19:51
سلام دوستان ...
برنامه ای میخواستم که مقدار عبارت زیر را برای n<10 محاسبه کند ...
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
خودم چنین چیزی رو نوشتم ولی نمیدونم مشکلش کجاست ...
ممنون میشم کمکم کنید ...
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
#include <iostream.h>
float f(int n)
{
int p=1;
float sum=0;
for(int i=1;i<=n;i++)
{
p*=i;
sum+=(float)1/p;
}
if(n==1)
return 1;
else
return sum;
}
int main()
{
int n;
cout<<"Enter a num between 1-9\n";
cin>>n;
cout<<f(n)<<"\n";
return 0;
}
یک float باید در قسمت تقسیم بزاری تا تقسیم اعشاری انجام شود.:11:
Lover_Football
11-01-2011, 21:52
دوست عزیز خیلی خیلی ممنون ...
یک سوال دیگه هم داشتم ...
اگرمحبت کنی ممنون میشم ...
با تابع بازگشتی میخوام یه برنامه بنویسم که x رو بگیره و بصورت معکوس از x تا 1 رو نشون بده ...
در واقع میخوام خروجیش این باشه : (مثلا x=5 )
54321
روی فرمولی که تابع return میکنه گیر کردم !!!
با تشکر ...
دوست عزیز خیلی خیلی ممنون ...
یک سوال دیگه هم داشتم ...
اگرمحبت کنی ممنون میشم ...
با تابع بازگشتی میخوام یه برنامه بنویسم که x رو بگیره و بصورت معکوس از x تا 1 رو نشون بده ...
در واقع میخوام خروجیش این باشه : (مثلا x=5 )
54321
روی فرمولی که تابع return میکنه گیر کردم !!!
با تشکر ...
#include <stdio.h>
int bar(int);
int main ()
{
int n,s;
printf ("Number :");
scanf ("%d",&n);
s=bar(n);
printf ("%d",s);
return 0;
}
int bar (int n )
{
int i;
for (i=n;i>0;i--)
printf ("%d ",i);
return i;
منظورتون همینه؟"
lordhippo
12-01-2011, 01:54
دوست عزیز خیلی خیلی ممنون ...
یک سوال دیگه هم داشتم ...
اگرمحبت کنی ممنون میشم ...
با تابع بازگشتی میخوام یه برنامه بنویسم که x رو بگیره و بصورت معکوس از x تا 1 رو نشون بده ...
در واقع میخوام خروجیش این باشه : (مثلا x=5 )
54321
روی فرمولی که تابع return میکنه گیر کردم !!!
با تشکر ...
void rev_print ( int n )
{
cout << n;
if ( n > 1 )
rev_print ( n - 1 );
}
در واقع این تابع return نداره.
Lover_Football
12-01-2011, 17:47
دوست عزیز (Life24) بسیار بسیار ممنون ...
دقیقاَ همین بود ...
فقط میخواستم تا 1 رو نشون بده که اونم با عوض کردن مقدار i>0 به i>1 در حلقه ی for درست شد ...
...............
lordhippo عزیز ...
از شما هم ممنونم که وقت گذاشتید ...
ولی تابع بازگشتی باید return داشته باشه ...
lordhippo
12-01-2011, 22:43
ولی تابع بازگشتی باید return داشته باشه ...
خدا رو شکر که به نتیجه رسیدید. ولی محض اطلاع تابع بازگشتی تابعی هست که خودش رو فراخوانی کنه. ربطی به return داشتن نداره.
برای مثال الگوریتم های پیمایش درخت و چاپ آن همه از نوع بازگشتی هستند، ولی return ندارند.
اون کد اولی هم که دوستمون گفتند به هیچ وجه بازگشتی نسیت. چون: 1-از for استفاده کرده برای پیاده سازی الگوریتم 2-تابع خودش رو فراخوانی نمیکنه.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.