برای مشاهده مفیدترین ارسال در این موضوع اینجا کلیک کنید

نمایش نتایج: از شماره 1 تا 9 از مجموع 9
Like Tree17نفر پسندیدند
  • 5 ارسال توسط Pouya
  • 8 ارسال توسط Pouya
  • 4 ارسال توسط Hossein

موضوع: حل مسئله ی 8 وزیر به زبان c++(بازگشتی و غیر بازگشتی)

  1. #1
    ADMIN
    تاریخ عضویت
    2011 October
    محل سکونت
    گیلان
    سن
    30
    ارسال ها
    136
    تشکر
    814
    تشکر شده 480 بار در 131 پست


    3 امتياز مثبت از 4 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر

    Post حل مسئله ی 8 وزیر به زبان c++(بازگشتی و غیر بازگشتی)


    در این بازی ما باید هشت وزیر را به گونه ای در صفحه شطرنج بچینیم که هیچ یک از وزیرها، 7 وزیر دیگر را تحدید نکند.

    Info
    روش 1) غیر بازگشتی




    کامپایلر برای ویندوز 7 و ویستا




    // In The Name Of God
    // 8 Qeen in c++
    // http://forum.ustmb.ir/thread1711.html

    #include <iostream.h>
    #include <dos.h>
    #include <conio.h>
    #include <math.h>

    void main()
    {
    clrscr();
    int a,b,c,d,e,f,g,h;
    char x;


    cout<<" Qeen> Mikhay 8Vazir Bazi Koni(1) Man Hesab Konam(2) Khoroj ()Ro Bezan???\n "<<"> ";
    cin>>x;

    if(x=='1')

    {

    cout<<"a=";
    cin>>a;
    cout<<"\nb=";
    cin>>b;
    cout<<"\nc=";
    cin>>c;
    cout<<"\nd=";
    cin>>d;
    cout<<"\ne=";
    cin>>e;
    cout<<"\nf=";
    cin>>f;
    cout<<"\ng=";
    cin>>g;
    cout<<"\nh=";
    cin>>h;
    if(a!=b&& abs(a-b)!=1&& a!=c&& abs(a-c)!=2&& a!=d&& abs(a-d)!=3&& a!=e&& abs(a-e)!=4&& a!=f&& abs(a-f)!=5&& a!=g&& abs(a-g)!=6&& a!=h&& abs(a-h)!=7&&b!=c&& abs(b-c)!=1&& b!=d&& abs(b-d)!=2&& b!=e&& abs(a-e)!=3&& b!=f&& abs(b-f)!=4&& b!=g&& abs(b-g)!=5&& b!=h&& abs(b-h)!=6&& c!=d&& abs(c-d)!=1&& c!=e&& abs(c-e)!=2&& c!=f&& abs(c-f)!=3&& c!=g&& abs(c-g)!=4&& c!=h&& abs(c-h)!=5&& d!=e&& abs(d-e)!=1&& d!=f&& abs(d-f)!=2&& d!=g&& abs(d-g)!=3&& d!=h&& abs(d-h)!=4&& e!=f&& abs(e-f)!=1&& e!=g&& abs(e-g)!=2&& e!=h&& abs(e-h)!=3&& f!=g&& abs(f-g)!=1&& f!=h&& abs(f-h)!=2&& g!=h&& abs(g-h)!=1)
    {
    cout<<"Afarin Dorost Bood!!!!!!!!!!";

    }
    else
    {
    cout<<"Behtare beri marpele Bazi Koni!!";
    }
    }
    else

    if(x=='2')
    {
    int count=0;
    for(a=1;a<=8;a++)
    for(b=1;b<=8;b++)
    if(b!=a&& abs(b-a)!=1)
    for(c=1;c<=8;c++)
    if(c!=b&& abs(c-b)!=1&&c!=a&& abs(c-a)!=2)
    for(d=1;d<=8;d++)
    if(d!=c&& abs(d-c)!=1&&d!=b&& abs(d-b)!=2&&d!=a&& abs(d-a)!=3)
    for(e=1;e<=8;e++)
    if(e!=d&& abs(e-d)!=1&&e!=c&& abs(e-c)!=2&&e!=b&& abs(e-b)!=3&&e!=a&& abs(e-a)!=4)
    for(f=1;f<=8;f++)
    if(f!=e&& abs(f-e)!=1&&f!=d&& abs(f-d)!=2&&f!=c&& abs(f-c)!=3&&f!=b&& abs(f-b)!=4&& f!=a&& abs(f-a)!=5 )
    for(g=1;g<=8;g++)
    if(g!=f&& abs(g-f)!=1&& g!=e&& abs(g-e)!=2&& g!=d&& abs(g-d)!=3&& g!=c&& abs(g-c)!=4&& g!=b&& abs(g-b)!=5&& g!=a&& abs(g-a)!=6)
    for(h=1;h<=8;h++)
    {
    if(a!=h&& abs(a-h)!=7&& b!=h&& abs(b-h)!=6&&c!=h&& abs(c-h)!=5&& d!=h&& abs(d-h)!=4&& e!=h&& abs(e-h)!=3&& abs(f-g)!=1&& f!=h&& abs(f-h)!=2&& g!=h&& abs(g-h)!=1)
    {
    count++;
    cout<<endl<<count<<" => "<<" a= "<<a<<" b= "<<b<<" c= "<<c<<" d= "<<d<<" e= "<<e<<" f= "<<f<<" g= "<<g<<" h= "<<h<<"\n";

    }


    }
    }
    else
    cout<<" Qeen> Bye>>>>>>>>" ;

    cout<<" By PouyaDarabi"<<endl<<"PouyaDarabi@yahoo.com";
    getch();

    }

    // By Pouya Darabi
    //PouyaDarabi@yahoo.com
    //http://forum.ustmb.ir



    موضوعات مشابه:
    فایل های پیوست شده
    • نوع فایل: cpp 8VAZIRP.CPP (2.3 کیلو بایت,  این فایل 17 بار دانلود شده است)
    ویرایش توسط Pouya : 31st July 2014 در ساعت 07:28 PM
    Hossein, Shojaee, MoJTaBa و 2 نفر دیگر این نویسه را می پسندند.


    ..::Never Trust Someone Who Lies To You , Never Lie To Someone Who Trusts You::..


  2. #2
    ADMIN
    تاریخ عضویت
    2011 October
    محل سکونت
    گیلان
    سن
    30
    ارسال ها
    136
    تشکر
    814
    تشکر شده 480 بار در 131 پست


    1 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر

    Post حل مسئله ی 8 وزیر به روش بازگشتی c++

    در این بازی ما باید هشت وزیر را به گونه ای در صفحه شطرنج بچینیم که هیچ یک از وزیرها، 7 وزیر دیگر را تحدید نکند.

    Info
    روش2) بازگشتی






    // In The Name Of God
    // 8 Qeen in c++
    // http://forum.ustmb.ir/thread1711.html

    #include<iostream.h>
    #include<conio.h>
    #include<math.h>
    int array[8];
    int p=1;
    void Qeen(int n)
    {
    int j = 0;
    int Respond = 1;
    while (j < n && Respond == 1)
    {
    if (array[j] == array[n] || abs(array[n] - array[j]) == n - j)
    Respond = 0;
    j++;
    }

    if (Respond == 1)
    if (n == 7)
    {

    for (int i = 0; i <=7; i++)
    cout<<array[i]<<",";

    cout<<">>"<<p;
    p++;
    cout<<endl;

    }
    else
    for (int k = 1; k <= 8; k++)
    {
    array[n + 1] = k;
    Qeen(n + 1);

    }

    }

    void main()
    {
    clrscr();
    Qeen(-1);
    cout<<" By PouyaDarabi"<<endl<<"PouyaDarabi@yahoo.com";
    getch();
    // By Pouya Darabi
    // Pouyadarabi@yahoo.com
    //http://forum.ustmb.ir

    }



    فایل های پیوست شده
    • نوع فایل: cpp 8Qeen.CPP (855 بایت ,  این فایل 23 بار دانلود شده است)
    ویرایش توسط Pouya : 31st July 2014 در ساعت 07:28 PM
    Hossein, Shojaee, Meysam.M و 5 نفر دیگر این نویسه را می پسندند.


    ..::Never Trust Someone Who Lies To You , Never Lie To Someone Who Trusts You::..


  3. #3
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    37
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    بسیار عالی پویا جان آفرین .فقط چند تا نکته :

    متن پنهان


    @Pouya
    در پناه حق پیروز و سربلند باشی

    ویرایش توسط Hossein : 22nd June 2012 در ساعت 03:43 PM دلیل: اطلاعات تکمیلی
    Farzad, Pouya, Meysam.M و 1 نفر دیگر این نویسه را می پسندند.
    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  4. #4
    USTMB Student
    تاریخ عضویت
    2012 January
    محل سکونت
    بابل
    سن
    31
    ارسال ها
    37
    تشکر
    107
    تشکر شده 170 بار در 51 پست
    نوشته های وبلاگ
    1


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    اون موقعی که من نوشتم خیلی بیش تر از اینا شده بود!!!


  5. #5
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    37
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط n.tahmasebi نمایش پست ها
    اون موقعی که من نوشتم خیلی بیش تر از اینا شده بود!!!
    شما هم کدتون رو بزارید اینجا

    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  6. #6
    USTMB Student
    تاریخ عضویت
    2012 January
    محل سکونت
    بابل
    سن
    31
    ارسال ها
    37
    تشکر
    107
    تشکر شده 170 بار در 51 پست
    نوشته های وبلاگ
    1


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    به دلیل سوختن هاردم همه ی برنامه هایی که نوشته بودم پاک شدن


  7. #7
    عضو تازه وارد
    تاریخ عضویت
    2013 December
    ارسال ها
    2
    تشکر
    0
    تشکر شده 0 بار در 0 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    agha mishe ye tozih bedi too ravesh bazgashti chikar kardi?


  8. #8
    عضو تازه وارد
    تاریخ عضویت
    2013 December
    ارسال ها
    2
    تشکر
    0
    تشکر شده 0 بار در 0 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط Pouya نمایش پست ها
    در این بازی ما باید هشت وزیر را به گونه ای در صفحه شطرنج بچینیم که هیچ یک از وزیرها، 7 وزیر دیگر را تحدید نکند.

    Info
    روش2) بازگشتی






    // In The Name Of God
    // 8 Qeen in c++
    // http://forum.ustmb.ir/thread1711.html

    #include<iostream.h>
    #include<conio.h>
    #include<math.h>
    int array[8];
    int p=1;
    void Qeen(int n)
    {
    int j = 0;
    int Respond = 1;
    while (j < n && Respond == 1)
    {
    if (array[j] == array[n] || abs(array[n] - array[j]) == n - j)
    Respond = 0;
    j++;
    }

    if (Respond == 1)
    if (n == 7)
    {

    for (int i = 0; i <=7; i++)
    cout<<array[i]<<",";

    cout<<">>"<<p;
    p++;
    cout<<endl;

    }
    else
    for (int k = 1; k <= 8; k++)
    {
    array[n + 1] = k;
    Qeen(n + 1);

    }

    }

    void main()
    {
    clrscr();
    Qeen(-1);
    cout<<" By PouyaDarabi"<<endl<<"PouyaDarabi@yahoo.com";
    getch();
    // By Pouya
    // Pouyadarabi@yahoo.com
    //http://forum.ustmb.ir

    }






    ممنون میشم یه توضیح بدی چیکار کردی؟؟


  9. #9
    ADMIN
    تاریخ عضویت
    2011 October
    محل سکونت
    گیلان
    سن
    30
    ارسال ها
    136
    تشکر
    814
    تشکر شده 480 بار در 131 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط kratos نمایش پست ها
    نقل قول نوشته اصلی توسط Pouya نمایش پست ها
    در این بازی ما باید هشت وزیر را به گونه ای در صفحه شطرنج بچینیم که هیچ یک از وزیرها، 7 وزیر دیگر را تحدید نکند.

    Info
    روش2) بازگشتی






    // In The Name Of God
    // 8 Qeen in c++
    // http://forum.ustmb.ir/thread1711.html

    #include<iostream.h>
    #include<conio.h>
    #include<math.h>
    int array[8];
    int p=1;
    void Qeen(int n)
    {
    int j = 0;
    int Respond = 1;
    while (j < n && Respond == 1)
    {
    if (array[j] == array[n] || abs(array[n] - array[j]) == n - j)
    Respond = 0;
    j++;
    }

    if (Respond == 1)
    if (n == 7)
    {

    for (int i = 0; i <=7; i++)
    cout<<array[i]<<",";

    cout<<">>"<<p;
    p++;
    cout<<endl;

    }
    else
    for (int k = 1; k <= 8; k++)
    {
    array[n + 1] = k;
    Qeen(n + 1);

    }

    }

    void main()
    {
    clrscr();
    Qeen(-1);
    cout<<" By PouyaDarabi"<<endl<<"PouyaDarabi@yahoo.com";
    getch();
    // By Pouya
    // Pouyadarabi@yahoo.com
    //http://forum.ustmb.ir

    }






    ممنون میشم یه توضیح بدی چیکار کردی؟؟
    اول تک تک وزیرا رو میزاریم تو آرایه و بازگشت انجام میشه
    بعد بازگشت برای اون وزیر چک میکنیم که آیا با وزیرای قبلی نداخل داشته یا نه
    اگر داشت که کلاً کنار میزاریمش و اگر نداشت مهره بعدی رو میچینیم
    یه همین ترتیب تا آخر میریم و وقتی این تعداد به 8 رسید میتونیم نشون بدیم که جوابی پیدا شده
    چون تک تک چک کردیم و وقتی 8 تا پیدا بشه مطمئنا هیچکدوم تداخلی نداشتن



    ..::Never Trust Someone Who Lies To You , Never Lie To Someone Who Trusts You::..


 

 

کاربران برچسب خورده در این موضوع

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 10:10 PM بر حسب GMT +4 می باشد.