الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب شرح برنامج رجاءً

مغلق
بدأه ++Student c في 8 يونيو 2007 · 2 رد · 672 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركاته

رجاء خاص أريد شرح هذا البرنامج عاجلا ً غير آجل

#include <stdio.h>

long factorial( long number );

int main()

{

int i;

for ( i = 0; i <= 10; i++ ) {

printf( "%2d! = %ld\n", i, factorial( i ) );

}

return 0;

}

long factorial( long number )

{

if ( number <= 1 ) {

return 1;

}

else {

return ( number * factorial( number - 1 ) );

}

}

حفظكم الرحمن

#2

الظاهر انو عندك مشكله بالتعاوديه recurssion

يا سيدي الكريم هالفانكشين factorial يستدعي تفسو في كل مرة ..........

اول شي بياخد الصفر وبيختبر اذا كان العدد اقل من اويساوي الواحد يعيد النتيجه 1 -------> الصفر محقق للشرط الاول اذا يعيد واحد ويطبع الناتج واحد

بعدين ياخد 1 ويختبره .......... يشوف انو كمان محقق للشرط الأول -----> يعيد 1 كمان ويطبع النتيجه

بعدين ياخذ العدد 2 ويختبره ......... ويشوف ان العدد 2 مخالف للشرط ------> اذا سيجري العمليه التاليه : ضرب العدد 2 بناتج استدعاء التابع نفسه من اجل العدد 2 ناقص 1 -اي من اجل العدد1-.

وبالتالي الستدعاء الثاني سيعيد 1 لأن الاستدعاء الثاني المتناقص محقق للشرط الأول اي انه سيضرب 2 ضرب 1 وسيعيد النتيجه 2

وهكذا من اجل البقيه .................... ولو لقيت صعوبه في الفهم ........... شوفني عالماسنجر اشرحلك بالصوت

#3

بارك الله فيك ،،، أجل عاوزك في أمور كثيره في الصيفية هههههههههه

اميلك على الخاص

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…