تبلیغات
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی - سورس برنامه ی هشت وزیر برای Dev C++
دانلود سورس پروژه های مختلف برنامه نویسی، آموزش برنامه نویسی
دانلود رایگان سورس پروژه
سایت برنامه نویسی تک کدر takcoder.ir


آموزش برنامه نویسی با استفاده از نوین ترین روش و ارائه پروژه های نمونه و مجموعه عظیم سورس کدهای آماده برای شما دوستان

مدیر سایت : Yahya Taherzadeh
نویسندگان
نظرسنجی
زبان برنامه نویسی مورد علاقه شما؟






این برنامه که برای کامپایل در Dev C++ نوشته شده، طول اضلاع صفحه شطرنج و تعداد وزیر ها رو گرفته و سپس به کمک توابع بازگشتی، تمامی حالات قرار گرفتن اونها رو طوری که یکدیگر رو تهدید نکنند، با زدن یک کلید نمایش میده.


#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>

constint m=20;
int k[m][m];
int Count=0;
int v=0 , n=0 , i=0 , j=0 , state=0;

void remove(int i,int j)
{
      int p,q;
      k[i][j]=0;
      Count--;
      for(p=0;p<n;p++)
          if(p!=i)
              k[p][j]--;
      for(p=0;p<n;p++)
        if(p!=j)
                  k[i][p]--;
      p=i+1;
      q=j+1;
     while(p<n && q<n)
      {
                    k[p++][q++]--;
     }
      p=i-1;
      q=j-1;
     while(p>=0 && q>=0)
      {
               k[p--][q--]--;
      }
     p=i+1;
      q=j-1;
     while(p<n && q>=0)
      {
               k[p++][q--]--;
      }
      q=j+1;
     while(p>=0 && q<n)
     {
                    k[p--][q++]--;
     }
}

int apply(int i,int j)
{
      int p,q;
     k[i][j]=1;
     Count++;
      for(p=0;p<n;p++)
        if(p!=i)
              k[p][j]++;
      for(p=0;p<n;p++)
        if(p!=j)
              k[i][p]++;
      p=i+1;
     q=j+1;
     while(p<n && q<n)
      {
               k[p++][q++]++;
     }
      p=i-1;
     q=j-1;
     while(p>=0 && q>=0)
      {
               k[p--][q--]++;
     }
      p=i+1;
     q=j-1;
     while(p<n && q>=0)
     {
                    k[p++][q--]++;
     }
     p=i-1;
     q=j+1;
      while(p>=0 && q<n)
     {
               k[p--][q++]++; 
      }
      return 0;
}

void draw()
{
      ////clrscr();();
     for(int p=0;p<n;p++)
     {
             for(int q=0;q<n;q++)
                 {
                     if(k[p][q]!=1)
                                   cout<<setw(3)<<'.';
                     else
                                   cout<<setw(3)<<'X';
                 }
             cout<<endl<<endl;
     }
     cout<<endl<<endl<<"Total states founded for "<<n<<"*"<<n<<" boards and "<<v<<" Queens: "<<state<<endl;
}

void check()
{
     if(Count==v)
     {
                      state++;
                 draw();
                 cout<<endl<<endl<<"Press q to exit or any key to continue...";
                 int c=getch();
                      if(c=='q')exit(0);
     }
}

void move(int p,int q)
{
     apply(p,q);
     check();
      for(int i=p;i<n;i++)
     {
             for(int j=0;j<n;j++)
                 if(k[i][j]==0)
                    move(i,j);
     }
      remove(p,q);
}

int main()
{
    cout<<"**************Queens******************"<<endl<<endl;
     cout<<"Enter size of board :";
    cin>>n;
    cout<<"Enter number of queens:";
    cin>>v;
     //clrscr();;
    draw();
     for(i=0;i<n;i++)
        for(j=0;j<n;j++)
            move(i,j);
            
     //clrscr();;
    cout<<"Total states:"<<state<<endl;
     getch();
    return 0;
}





نوع مطلب : آموزش، پروژه های رایگان، سی| سی پلاس پلاس، پروژه های تکمیل شده، 
برچسب ها : هشت وزیر، سورس هشت وزیر، برنامه هشت وزیر، برنامه ی هشت وزیر، eight queens، minister، queens،
لینک های مرتبط :
Yahya Taherzadeh
سه شنبه 19 آذر 1392
دوشنبه 10 اردیبهشت 1397 04:15 ب.ظ
At this time it seems like Wordpress is the best blogging platform
out there right now. (from what I've read) Is that what you are
using on your blog?
شنبه 25 شهریور 1396 06:18 ب.ظ
Every weekend i used to go to see this website, as i wish
for enjoyment, for the reason that this this web page conations really nice funny stuff too.
جمعه 6 مرداد 1396 05:49 ب.ظ
Someone necessarily help to make significantly posts I'd state.

This is the very first time I frequented your web page and so far?
I surprised with the analysis you made to
create this particular put up amazing. Excellent activity!
سه شنبه 13 تیر 1396 03:00 ق.ظ
We're a gaggle of volunteers and starting a new scheme
in our community. Your web site provided us with valuable information to work on. You have done an impressive job and our whole group might be thankful
to you.
دوشنبه 12 تیر 1396 08:33 ق.ظ
These are in fact fantastic ideas in about blogging.
You have touched some nice points here. Any way keep up wrinting.
یکشنبه 11 تیر 1396 08:28 ق.ظ
I leave a response each time I especially enjoy a post
on a website or I have something to valuable to contribute to the conversation. Usually it's a
result of the fire displayed in the post I browsed.
And after this post دانلود سورس پروژه های
مختلف برنامه نویسی، آموزش برنامه نویسی - سورس برنامه ی هشت وزیر برای Dev C++.

I was actually moved enough to create a comment :) I
do have a couple of questions for you if it's allright.
Is it simply me or do some of the remarks come across like coming from brain dead people?
:-P And, if you are writing on additional online sites, I'd like to follow you.
Could you list every one of all your social pages like your linkedin profile, Facebook
page or twitter feed?
شنبه 3 تیر 1396 04:11 ب.ظ
Precisely what I was searching for, thank you
for putting up.
چهارشنبه 31 خرداد 1396 06:28 ب.ظ
You can certainly see your enthusiasm within the paintings you write.
The world hopes for more passionate writers such as you who are not afraid
to say how they believe. Always follow your heart.
پنجشنبه 28 اردیبهشت 1396 10:25 ب.ظ
Howdy! This post could not be written any better!
Reading through this post reminds me of my good old room mate!
He always kept talking about this. I will forward this write-up
to him. Fairly certain he will have a good read.
Thanks for sharing!
شنبه 23 اردیبهشت 1396 02:38 ق.ظ
Hello, Neat post. There's an issue along with your site in web explorer, would check
this? IE nonetheless is the market leader and a huge portion of other folks will miss your fantastic writing because of this problem.
چهارشنبه 13 اردیبهشت 1396 12:14 ب.ظ
Hello to every one, since I am genuinely keen of reading this blog's post to be updated
daily. It consists of good material.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر




صفحات جانبی
آمار وبلاگ
تاییدیه پرداخت
تبلیغات
به سایت تک کدر خوش آمدید