- تاریخ عضویت
- 22 ژانویه 2006
- نوشتهها
- 60
- لایکها
- 0
سلام
ببخشيد كه من خيلي دير سر مي زنم . الان ديگه ترم آخرم و هزار گرفتاري!!!
اين برنامه هشت وزير رو خيلي وقت پيش نوشته بودم. فرصت توضيح نوشتن ندارم شايد بعدا . فعلا خود برنامه رو گشتم پيدا كردم:
از حجمش نترسيد همش كاراي گرافيكي. فقط قسمت هاي قرمز مر بوط به الگوريتم ميشه.
متغيير s تعداد حالت هاي صحيحي كه پيدا شده است را مي شمارد.
هر بار كه يك حالت رو پيدا مي كنه اون رو نمايش مي دهد و يك دكمه مي گيرد (قسمت آبي) كه اگر بخواهيد سريع تر اجرا شود مي تونيد اين خطهاي آبي رو حذف كنيد.
ببخشيد كه من خيلي دير سر مي زنم . الان ديگه ترم آخرم و هزار گرفتاري!!!
اين برنامه هشت وزير رو خيلي وقت پيش نوشته بودم. فرصت توضيح نوشتن ندارم شايد بعدا . فعلا خود برنامه رو گشتم پيدا كردم:
کد:
#include<stdio.h>
#include<conio.h>
void shat3(int x,int y,int nx,int ny,int tnx,int tny,int cse,int csi);
void main()
{
[COLOR="Red"] int y[8]={0},i,j,k,l,s=0,x;
char ch;[/COLOR]
textbackground(1);
clrscr();
textcolor(1);
[COLOR="red"] do
{
x=l=0;
y[0]++;
while(y[x]>7&&x!=7)
{
y[x]=0;
x++;
y[x]++;
}
for(i=0;i<7;i++)
{
for(j=i+1;j<8;j++)
if(y[i]==y[j] || y[i]+i-j==y[j] || y[i]-i+j==y[j])
{
l=1;
break;
}[/COLOR]
if(l==1)break;
}
[COLOR="red"] if(l==0)
{
s++;[/COLOR]
shat3(10,1,8,3,8,8,0,7);
for(k=0;k<8;k++)
{
gotoxy(13+8*y[k],(k+1)*3-1);
if((y[k]+k)%2==0)
textattr(4);
else
textattr(7<<4^4);
cprintf("XX");
}
if(y[7]%2==0)
textcolor(7);
else
textcolor(0);
[COLOR="Blue"] ch=getch();
if(ch=='q')break;[/COLOR]
[COLOR="red"] }[/COLOR]
[COLOR="red"] }while(y[7]<8);[/COLOR]
textbackground(1);
clrscr();
textcolor(2);
gotoxy(35,13);
cprintf("%d",s);
getch();
}
void shat3(int x,int y,int nx,int ny,int tnx,int tny,int cse,int csi)
{
int i,j,k,l,m=0;
gotoxy(x,y);
for(i=0;i<tny;i++)
for(j=0;j<ny;j++)
{
m++;
for(k=0;k<tnx;k++)
{
if((i+k)%2==0)
textbackground(cse);
else
textbackground(csi);
for(l=0;l<nx;l++)
cprintf(" ");
}
gotoxy(x,y+m);
}
}
از حجمش نترسيد همش كاراي گرافيكي. فقط قسمت هاي قرمز مر بوط به الگوريتم ميشه.
متغيير s تعداد حالت هاي صحيحي كه پيدا شده است را مي شمارد.
هر بار كه يك حالت رو پيدا مي كنه اون رو نمايش مي دهد و يك دكمه مي گيرد (قسمت آبي) كه اگر بخواهيد سريع تر اجرا شود مي تونيد اين خطهاي آبي رو حذف كنيد.