با سلام به دوستان
من این برنامه رو از همین فروم دانلود کردم ولی توی تحلیل و توضیحش کمی مشکل دارم.
دوستان کسی هست این برنامه رو به طور کامل تشریح کنه.عملکرد هر یک از توابع و قسمتها
مرسی و تشکر
HTML Code:
// n vazir.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<dos.h>
int x[10],sn=0,sp=22,counter;
int bqueens(int k,int i)
{
int j;
for(j=1;j<k;j++)
{
if(x[j]==i||j-x[j]==k-i||j+x[j]==k+i)
return 0;
}
return 1;
}
void btqueens(int k,int n){
int i,j;
for(i=1;i<=n;i++)
if(bqueens(k,i))
{
x[k]=i;
if(k==n){
if(sn++<sp)
{
printf("\n % 3d Answer is: ",++counter);
for(j=1;j<n+1;j++)
printf(" %d ",x[j]);
}
else
{
printf("\nPress any key to continue . . .");
getch();
sn=0;
sp+=2;
}
}
else
btqueens(k+1,n);
}
}
void main(){
int n;
printf("Please enter N queens: ");
scanf("%d",&n);
btqueens(1,n);
getch();
}