المساعدة - البحث - قائمة الأعضاء - التقويم
نسخة كاملة: مسئلة أبراج هانوي
برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة > منتديات لغات البرمجة العام > منتدى مبرمجي C و ++C و C++.NET > أرشيف منتدى قسم السي ++
nsssn73
لعبة نقل المربعات من الستاك الاولى الى الثانية والثالثة بشرط ان لا تكون السفلي في الستاك اصغر من التي فوقها.......
لعبة البرج (tower)
اذا كانت صعبة عليكم فما بالكم بي انا
[code2]
#include
void in_arr();
void out_arr();
void move_disck(int n,char a,char cool.gif;
char S1[10],S2[10],S3[10];
int i,top1,top2,top3;
// main
main()
{
in_arr();
out_arr();
move_disck(4,a,cool.gif;

}
//input function
void in_arr()
{

cout<<"nn Enter all the elements :nt";
for(i=1;i<=top1;i++)
cin>>S1[i];
cout< }
// output function
void out_arr()
{
cout<<"nn The elements of the array number3:nt";
for(i=1;i<=top1;i++)
cout< cout<<"nn The element of the array number 2 :nt";
for(i=1;i<=top2;i++)
cout< cout< }

void move_disck(int n,char a,char cool.gif
{
while((top1>0)||((top2>0)&&(top3>0)))
{
if((S1[top1] S2[top2++]=S1[top1--];
else
S1[top1++]=S2[top2--];
if((S1[top1] S3[top3++]=S1[top1--];
else
S1[top1++]=S3[top3--];
if((S2[top1] S3[top3++]=S2[top2--];
else
S2[top2++]=S3[top3--];
move_disck(n-1,a,cool.gif;
}
}
[/code2]
:'( :'(
هاني الأتاسي
طيب ممكن تغير اسم موضوع السؤال لأني مافهمت شو المطلوب؟
nsssn73
المطلوب towers of hanoi باستعمال ال recursive و 3 stack
وان حاولت كما في المثل السابق لكن عندي مشكل ولم اتمكن من حلها يا ريت لو اعرف الحل الصحيح وان امكن تصحيح البرنامج الموجود في البداية
وشكرااااااااااااااااااااا
nsssn73
اذا ما قدرة تحلة قول ولا تخاف
ترى مش عيب انا نغلط
العيب انا نتماد في الغلط
اما انا فى بصراحة ماعرفة احلها والا ما كنت قدمتا لكم لكي تساعدون
وشكرااااااااااااااااا وتحملوني sad.gif wink_smile.gif wink_smile.gif wink_smile.gif wink_smile.gif :'( :'(
هاني الأتاسي
teeth_smile.gif

الله يسامحك ... إن شاء الله بعد شي 5 أو 6 ساعات بشوفو ... الواحد الوقت مو بأيدو ...
هاني الأتاسي
لا أدري لماذا كل هذا التعقيد في البرنامج :: هذا هو حل مسألة هانوي :

[code2]
#include

/* n : number to move,
A : source pole,
B : destination pole
C : spare pole*/
void move(int n, int A, int C, int cool.gif;

main()
{
int n;

cout << "Enter number of rings : ";
cin >> n;

move(n, 1, 3, 2);
}

void move(int n, int A, int C, int cool.gif
{
if (n == 1) {
cout << "Move from " << A << " to " << C << endl;
}
else
{
move(n-1, A, B, C);
move(1, A, C, cool.gif;
move(n-1, B, C, A);
}
}
[/code2]
nsssn73
شكراااااااااااااااااااااااااااااااااااا خاص للاستاذ هاني الأتاسي
والله اشكر على تحمل ثقل دم وان اعتذر لك لانني احسسة اني غلطان في حقك وانت تستاهل كل احترام وتقدير وشكرااااااااااااا
omg_smile.gif omg_smile.gif omg_smile.gif omg_smile.gif omg_smile.gif omg_smile.gif (f) (f)
هذه "نسخة - خفيفة" من محتويات الرئيسية للإستعراض الكامل مع المزيد من الصور والخيارات الرجاء إضغط هنا.
Invision Power Board © 2001-2009 Invision Power Services, Inc.