برنامه شطرنج
//mjs
#include
void
place(int,int,int [][8],int [][8]);void
ana(int [][8],int [][8]);void
print(int [][8]);int
main(){
int
p[8][8];int
placed[8][8];int
i,j;for
(i=0;i<=7;i++){
for(j=0;j<=7;j++){
p[i][j]=1;
placed[i][j]=0;
}
}
for
(i=0;i<=7;i++){
for(j=0;j<=7;j++){
place(i,j,p,placed);
ana(p,placed);
}
}
return
(0);}
//***************************************************
void
place(int i,int j,int p[][8],int placed[][8]){
placed[i][j]=1;
int
a,b,k;for
(k=0;k<=7;k++){
p[i][k]=0;
p[k][j]=0;
if(k+i<=7 && k+j<=7){
p[k+i][k+j]=0;
}
if(k+i<=7 && j-k>=0){
p[k+i][j-k]=0;
}
if(i-k>=0 && k+j<=7){
p[i-k][k+j]=0;
}
if(i-k>=0 && j-k>=0){
p[i-k][j-k]=0;
}
}
for
(a=0;a<=7;a++){
for(b=0;b<=7;b++){
if(p[a][b]==1)place(a,b,p,placed);
}
}
}
//***************************************************
void
ana(int p[][8],int placed[][8]){
int
a,b;int
c=0;for
(a=0;a<=7;a++){
for(b=0;b<=7;b++){
if(placed[a][b]==1){
c++;
}
}
}
if
(c==8){
print(placed);
}
else
{
for(a=0;a<=7;a++){
for(b=0;b<=7;b++){
p[a][b]=1;
placed[a][b]=0;
}
}
}
}
//***************************************************
void
print(int placed[][8]){
int
a,b;for
(a=0;a<=7;a++){
for(b=0;b<=7;b++){
if(placed[a][b]==0)printf(
" O "); if(placed[a][b]==1){
printf(
" * ");}
}
printf(
"\n\n");}
}
+ نوشته شده در ۱۳۸۹/۰۳/۲۶ ساعت 22:4 توسط -
|