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

من يعرف حل مغارة جحا

مغلق
بدأه قبل الاول في 1 ديسمبر 2006 · 9 رد · 3,637 مشاهدة · في الرياضيات والخوارزميات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

احتمال كثيرا منكم دخل بيت حجا وهو صغير :lol: وخصوصا المصرين ، انا علي العموم دخلته :P كان كله زجاج وتهت فيه وكانت مشكلة لدرجة اني كنت ها... :^)

المهم انا هرسمة كالاتي

post-77562-1165006195_thumb.gif

السؤال

ما هو الخورزم للدخول من باب الدخزل (0) والخروج من باب الخروج(11) ؟

ياريت يكون السؤال واضح

وشكرا

#2

الخروج من الباب 11 ولا 12 ؟

إذا دخلت الباب 11 عمرك ما حتخرج!

:)

تم تعديل هذه المشاركة بواسطة علاء السلال في 2 ديسمبر 2006 في 00:39

اللهم طهر أرض فلسطين من العملاء والخونة

#3

السلام عليكم..

هناك خوارزمية تدعى:

A*Algorithm

وتلفظ:

A Star Algorithm

ابحث عنها في ياهو أو غوغل

#4

يمكن أن تحل باستخدام الخوارزميات التراجعية :huh:

هذه الصيغة العامة لهذه الخوارزميات

void try()
{
initialize selection of candidates;
do {
select next candidate;
if (acceptable)
{
record it;
if (solution incomplete)
{
try next step;
if (not successful)
cancel recording;
}
}
} while (not successful)and(remains of
candidates);

بمعنى أخر:

هذه نصف الخوارزمية أو نصف الحل سمها ما شئت

//c++//

لنفترض أن المغارة مكونه من أصفار وواحدات

الواحدات هي الجدران

ما امكنية التحرك في المغارة

سنمثلها بمصفوفتين

int h[]={1,-1,0,0};
int v[]={0,0,1,-1};

الآن شكل تابعنا

void try1(int x,int y,char &q)

q: هل وصل التابع السابق لحل أم لا

الآن سيحاول التابع التالي

الانتقال إلى النقطة التالية

وتنجز هذه العملية بجمع أحد عناصر المصفوفتين السابقتين

(انتبه لعدم الخروج من المغارة)

إن نجح يحاول من أجل

void try1(xx,yy,q)

وإلا

سيحاول من أجل قيم جديده ل v,h

xx=x+v[k];
yy=y+h[k];

ويستمر

while((q=='n')&&(k<4));

وعند انتهاء الخوارزمية

إذا كان

q=n لا حل

وإلا

يمكنك تسجيل النتائج في مصفوفة

إن لم توضح الفكرة أخبرني ;)

تم تعديل هذه المشاركة بواسطة Ahmadte1 في 2 ديسمبر 2006 في 08:24

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#5

لو سمحت ممكن التوضيح بلغة العربية

#6

بالعربي

void try()
{
do {
فحص الاختبار التالي
if (ناجح)
{
سجله
if (غير ناجح)
{
حاول من أجل  الخطوة التاليه
if (غيرناجح)
احذف التسجيل;
}
}
} while (طالما لم تجد حل أو هناك احتمالات أخرى);

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#7

أخي قبل الأول أين أنت -_- -_-

على كل هذه مسألة متاهه تشابة مسألتك في المرفق برنامج(من صنعي B) )

يحوي ماتريد

labyrinth.rar

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#8

السلام عليكم

اسف أخي علي التأخير بسبب الامتحانات. ادعلي ، اما بالنسبة للموضوع اخي المشكلة في كيف اهيكل هذا الشكل في بيانات لكي انفذ اي الجرزم عليه

شكرا اخي علي الرد وانا اسف مرة اخري علي التأخير

#9

لو حد مهتم :

LEFT TO RIGHT
#10

الرجاء التوضيح أكثر لأني ما فهمت و لك الشكر ...

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

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