واضح آرشیو وب فارسی:سایت ریسک: فاکتوریل تا ارقام بالا در زبان سی soheilweb 10 بهمن 1384, 21:02سلام. آقا من واقعا شرمنده ام ولی یه سوال داشتم از برنامه نویسی C ممکنه بهم جواب بدین. میخوام که یه برنامه ای باشه عدد طبیعی (n) رو بگیره و فاکتوریل اونو تحویل بده. (برنامه باید بتونه تا 500 فاکتوریل رو حساب کنه) من فقط میدونم که باید از ارایه ها استفاده کرد. جان من (تورو خدا) بهم کدش رو بدین - خیلی زود تا فردا میخوامش. عاجزانه خواهش میکنم بهم کدش رو بدین. یه دنیا ممنون میشم. saalek110 10 بهمن 1384, 22:38اين سئوال پرسيده شده اخيرا و جواب هم داده شده. . تا 30 فاكتوريل اينجا هست soheilweb 11 بهمن 1384, 00:50ممنونم دوست عزیزم. من تا 500 فاکتوریل میخوام. خواهش میکنم کدش رو بهم بدین اگه براتون ممکنه. باور کن خیلی لازم دارم. عاجزانه خواهش میکنم. mehran_j 11 بهمن 1384, 12:00خوب دوست عزيز ..خودت هم يه كم تلاش كن ....به راحتي ميتوني براي 50 فاكتوريل تغيرش بدي saalek110 11 بهمن 1384, 12:36#include <iostream> #include <conio.h> #include <iomanip> unsigned long factorial( unsigned long ); // function prototype int main() { // Loop 10 times. During each iteration, calculate // factorial( i ) and display result. for ( int i = 0; i <= 30; i++ ) cout << setw( 2 ) << i << "! = " << factorial( i ) << endl; getch(); return 0; // indicates successful termination } // end main // recursive definition of function factorial unsigned long factorial( unsigned long number ) { // base case if ( number <= 1 ) return 1; // recursive step else return number * factorial( number - 1 ); } // end function factorial من برنامه بالا را توضيح مي دهم ، شايد بدردتون بخوره. البته شايد هم بلد باشيد. در برنامه بالا ما بجاي اينكه بياييم ضربها را بنويسيم ، يك تابع نوشتيم كه عدد را با قبلي ضرب مي كنه و اين تابع خودش را صدا مي كنه و همين طور ضربها تا عدد يك ادامه ميابد. خيلي برنامه ساده اي است . فقط شما بايستي نوع متغير را ، از long به انواع ديگه تبديل كني. مثلا long double ، تا اعدااد بزرگتر جا بشه. من راستش با اعداد خيلي بزرگ كار نكردم و وقت مي بره تا باهاشون كنار بيام. ولي با كمي ور رفتن حل ميشه. . نويسنده برنامه : اين کد تا فاکتوريل عدد 30 رو محاسبه ميکنه شما ميتونيد برای اعداد بيشتر يا برای اينکه از کاربر ورودی بگيره اين کد رو تغيير بديد. موفق باشيد. شما كار كن اگر مشكلي بود بگيد . من و بقيه كمكتون مي كنيم. . saalek110 11 بهمن 1384, 12:37unsigned هم براي اينه كه منفي ها حذف بشه و فقط مثبت ها باقي بمونه تا گنجايش متغير ما دو برابر بشه. . stranger_in_rain 17 بهمن 1384, 00:59شما اگر یک ذره توجه میکردی و زیاد عجله نمیکردی میدیدی که C برای خودش، تو این سایت یک انجمن داره که برنامه های زیادی در اونجا میتونید پیدا کنید. لطفا بیشتر دقت کنید. sahama 21 بهمن 1384, 10:20فکر می کنم 500 فاکتوریل از 1000 رقم هم بیشتر بشه و من هیچ نوع داده ای رو سراغ ندارم که بتونه اون دو جا بده به نظر من بهترین راه برای شما اینه که عدد رو در حافظه به صورت یه رشته از کاراکتر ها در نظر بگیرید فکر میکنم اینجوری مسئله حل بشه برای این کار میتونید ار تخصیص حافظه پویا با دستور new هم استفاده کنید که کارتونو راحت تر میکنه! saalek110 21 بهمن 1384, 10:36---هم استفاده کنید که کارتونو راحت تر میکنه! جالب بود. ممنون. . ranjbar_2 24 اسفند 1384, 03:42فايل شامل سورسي است كه به روش متني عمل ضرب انجام ميده MnavidM 24 اسفند 1384, 08:26فايل شامل سورسي است كه به روش متني عمل ضرب انجام ميده سلام. ممنون از برنامه ای که گذاشتید . لطفا برنامه خودتون رو در اینجا () هم معرفی کنید . اون تایپک مخصوص معرفی پروژه ها می باشد . موفق باشی. نوید.
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 652]