PDA

View Full Version : مبتدی: مشكل با فاكتوريل



Ehsan 30
دوشنبه 11 آبان 1388, 00:01 صبح
سلام دوستان
من بايد يه برنامه با c بنويسم كه فاكتوريل عدد تو خروجي بده
تا اينجا پيش رفتم ولي وقتي اجرا ميكنم قبل از اينكه كاري كنم 0 چاپ ميكنه و از اجرا خارج ميشه
لطفا كمك كنيد




#include <stdio.h>
#include <conio.h>
int main ()
{
int n,f=1;
for(int i=1;i<=n;i++)
n=getch();
f=f*i;
putch (f);
return (0);
}

queen-mm
دوشنبه 11 آبان 1388, 01:07 صبح
من با سي++ نوشتم از الگوريتمش متوجه اشتباهاتت شو



int main ()
{
int n,f=1;
cin>>n;
for(int i=1;i<=n;i++)
f=f*i;
cout<<f;
getch();
return (0);
}

queen-mm
دوشنبه 11 آبان 1388, 12:56 عصر
int main ()
{
int n,f=1;
for(int i=1;i<=3;i++)
{
cin>>n;
for( int j=1;j<=n;j++)
f=f*j;
cout<<f<<endl;
f=1;
}
getch();
return (0);
}

karim orooji
دوشنبه 11 آبان 1388, 20:33 عصر
دوست عزيز
چطوري ميشه با تابع برگشتي فاكتوريل 10 عدد را گرفت و محاسبه كرد و چاپ كرد
ممنون ميشم كمكم كني

mehdimdp
دوشنبه 11 آبان 1388, 22:38 عصر
از آرایه استفاده کن
یعنی یه بار اون 10تاعدد رو با یک for دریافت میکنی
بعد با دوتا for تودرتو میتونی فاکتوریل تک تک رو حساب کنی ...
for اولی برای پیمایش آرایه و forدومی همون forی هستش که درکدهای بالا نوشته شده ...

queen-mm
دوشنبه 11 آبان 1388, 22:41 عصر
دوست عزيز
چطوري ميشه با تابع برگشتي فاكتوريل 10 عدد را گرفت و محاسبه كرد و چاپ كرد
ممنون ميشم كمكم كني
دوست عزيز شما بلد نيستين يه 3 رو به 10 تبديل كنين؟

woeful
سه شنبه 12 آبان 1388, 12:31 عصر
دوست عزيز شما بلد نيستين يه 3 رو به 10 تبديل كنين؟ لطفا به سوال توجه کنید :



دوست عزيز
چطوري ميشه با تابع برگشتي فاكتوريل 10 عدد را گرفت و محاسبه كرد و چاپ كرد
ممنون ميشم كمكم كني



#include<iostream.h>
#include<conio.h>


unsigned long factoriel(int x)
{
if ( x = 0 )
return 1;
return (x* factoriel(x-1));
}
//****************
//****************

int main()
{
int m = 0;
clrscr();
cout<<"Enter a number:";
cin>>m;
cout<<"FACTORIEL = "<< factoriel(m);
getch();
return 0;

}
حالا برای 10 تا عدد کافی توی یه for بزاری





با تشکر

Woeful