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

أتمنى شرح لهذا المثال (Trace)

بدأه computer 1430 في 31 مايو 2011 · 3 رد · 963 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أعضاء المنتدى

أتمنى منكم شرح هذا المثال..

السؤال عبارة عن Trace ..|>>أنا مافهمت التريس أبد وأتمنى أحد يشرح لي هالمثال ولو عنده مثال اضافي ممكن يضعه هنا ويشرحه

#include<iostream>
using namespace std;
using ::cout;
using ::endl;
int a ( int[],int);
int main()
{
const int arraysize=10;
int b [arraysize]={1,2,3,4,5,6,7,8,9,10};
int result=a(b,arraysize);
cout<<"result"<<result<<endl;
return 0;
}
int a ( int c[],int size)
{
if(size==1)
return c[0];
else
return c[size-1]+a(c,size-1);
}
#2

السلام عليكم

الكود لبعد التصحيح وإزالة سطرين غير ضرورية وخطأ

#include<iostream>
using namespace std;

int a ( int[],int);

int main()
{
	const int arraysize=10;
	int b [arraysize]={1,2,3,4,5,6,7,8,9,10};
	int result=a(b,arraysize);
	cout<<"result"<<result<<endl;
	return 0;
}
int a ( int c[],int size)
{
	if(size==1)
    	return c[0];
	else
    	return c[size-1]+a(c,size-1);
}

الكود ببساطة عبارة عن عملية Recursion للدالة a وذلك باستدعاء نفسها لإجراء عملية جمع لعناصر المصفوفة b

مش اكتر

كل المُنى

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#3
♥ حُوريّة ♥ كتب:

السلام عليكم

الكود لبعد التصحيح وإزالة سطرين غير ضرورية وخطأ

#include<iostream>
using namespace std;

int a ( int[],int);

int main()
{
	const int arraysize=10;
	int b [arraysize]={1,2,3,4,5,6,7,8,9,10};
	int result=a(b,arraysize);
	cout<<"result"<<result<<endl;
	return 0;
}
int a ( int c[],int size)
{
	if(size==1)
    	return c[0];
	else
    	return c[size-1]+a(c,size-1);
}

الكود ببساطة عبارة عن عملية Recursion للدالة a وذلك باستدعاء نفسها لإجراء عملية جمع لعناصر المصفوفة b

مش اكتر

كل المُنى

طيب ممكن تشرحيه شرح مفصل حتى الوصول للنتيجة لانه هذا تتبع واستخراج الناتج أي معرفة مالذي سيظهر في الاوت بوت بدون استخدام البرنامج

#4
computer 1430 كتب:

طيب ممكن تشرحيه شرح مفصل حتى الوصول للنتيجة لانه هذا تتبع واستخراج الناتج أي معرفة مالذي سيظهر في الاوت بوت بدون استخدام البرنامج

السلام عليكم

آسفة لا يسعني الوقت والجهد لشرح مفصّل للبرنامج

ولكن الجزء الخاص والصعوبة في تتبع البرنامج هو السطر التالي من الكود

return c[size-1]+a(c,size-1);

مباشرة بعد إشارة + هو ما يُعرف بالإستدعاء الذاتي للدالة Recursion

قليل من البحث والمراجعة حول هذه الآلية والتقنية بعدها سنتعرف تلقائياً على طريقة عمل هذا البرنامج

اقتباس
مالذي سيظهر في الاوت بوت بدون استخدام البرنامج

آسفة لم أفهم هذا السطر

أطيب المُنى

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

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