نمايش پست تنها
قديمي ۱۰-۳-۱۳۹۰, ۰۸:۲۷ قبل از ظهر   #61 (لینک دائم)
cpppro Male
عضو جدید
 
آواتار cpppro
 
تاريخ عضويت: آبان ۱۳۹۰
پست ها: 2
تشكرها: 0
1 تشكر در 1 پست
پيش فرض تحلیل الگوریتم n وزیر

با سلام به دوستان
من این برنامه رو از همین فروم دانلود کردم ولی توی تحلیل و توضیحش کمی مشکل دارم.
دوستان کسی هست این برنامه رو به طور کامل تشریح کنه.عملکرد هر یک از توابع و قسمتها
مرسی و تشکر

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();
}
cpppro آفلاين است   پاسخ با نقل قول

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online