⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qiuk—sort.cpp

📁 这是在VC下本人编写的解决八皇后问题的程序
💻 CPP
字号:
 
// console_adpcm.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "sign.h"
    #define   GetsignEocodeOut
    int   global_buffer1[0x7fff];
    char  global_buffer2[0x7fff];
    int   global_buffer3[0x7fff];
    int   Random1=0;
    int   Random2=0;
    char n[3]={'0','0'};
    int a[8],b[15],c[24],i,array[8],line[8];
    int h[8]={127,177,227,277,327,377,427,477};
    int l[8]={252,217,182,147,112,77,42,7};
    void *arrow;  

    int  times=0;

int main(int argc, char* argv[])
{
    unsigned int Write_Code22;

    int Inputnum1,i;
	char  char5;
    Inputnum1=0;
    for (i=0;i<=7;i++)
        a[i]=1;
    for (i=0;i<=14;i++)
        b[i]=1;
    for (i=0;i<=23;i++)
        c[i]=1;
    EIGHTQUEEN_DONE(1);
    getchar();


	return 0;
}


int Str_printf_strname(FILE *fp,char *str_name,int num,int Flag)
{  
	char ch1;
    char ch2[2];
    char Nextline=10;
    char str1[10]="]={";
    fputs(str_name,fp);
    ch1=(num>>8)&0xff;
    Changenumtochar(ch1,ch2);
    fputc('0',fp);
    fputc('x',fp);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
    ch1=num&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
	if(Flag==1)
	{
    fputc(';',fp);
    fputc(Nextline,fp);
   
	}
	else
	{
    fputs(str1,fp);
	}

    return 1;
}
int Str_printf_strnum(FILE *fp,int *buffer,int num)
{   
	int j;
    char ch1,ch2[2];
    char Nextline=10;
    char str2[10]="////";
    if(num>0)
	{
    fputc('0',fp);
    fputc('x',fp);
	ch1=(buffer[0]>>8)&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
    ch1=buffer[0]&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
	}
   for(j=1;j<num;j++)
   {
   fputc(',',fp);
   if(j%8==0)
   {
   fputs(str2,fp);
	ch1=((j/8-1)>>8)&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
    ch1=(j/8-1)&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
   fputc(Nextline,fp);
   }
   fputc('0',fp);
   fputc('x',fp);
   ch1=(buffer[j]>>8)&0xff;
   Changenumtochar(ch1,ch2);
   fputc(ch2[0],fp);
   fputc(ch2[1],fp);
   ch1=buffer[j]&0xff;
   Changenumtochar(ch1,ch2);
   fputc(ch2[0],fp);
   fputc(ch2[1],fp);
   }
	return 1;
}
int Str_printf_strchar(FILE *fp,char *buffer,int num)
{   
	int j;
    char ch1,ch2[2];
    char Nextline=10;
    char str2[10]="////";
    if(num>0)
	{
    fputc('0',fp);
    fputc('x',fp);
     ch1=global_buffer2[0]&0xf;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
	}
   for(j=1;j<num;j++)
   {
   fputc(',',fp);
   if(j%8==0)
   {
   fputs(str2,fp);
	ch1=((j/8-1)>>8)&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
    ch1=(j/8-1)&0xff;
    Changenumtochar(ch1,ch2);
    fputc(ch2[0],fp);
    fputc(ch2[1],fp);
   fputc(Nextline,fp);
   }
   fputc('0',fp);
   fputc('x',fp);
   ch1=global_buffer2[j]&0xf;
   Changenumtochar(ch1,ch2);
   fputc(ch2[0],fp);
   fputc(ch2[1],fp);
   }
	return 1;
}
int Str_printf_strend(FILE *fp)
{   
   char Nextline=10;
   fputc('}',fp);
   fputc(';',fp);
   fputc(Nextline,fp);
   fputc(Nextline,fp);
	return 1;
}


int  Changenumtochar(char ch6,char *ch4)
{
   int i;
   char ch2;
   int num1,num2;
   num1=(ch6&0xf);
   num2= (( ch6&0xf0)>>4);
   for(i=0;i<2;i++)
   {
   switch(num2)
    {
    case 0:
      ch2='0';
      break;
    case 1:
      ch2='1';
      break;
    case 2:
      ch2='2';
        break;
    case 3:
      ch2='3';
       break;
    case 4:
      ch2='4';
       break;
    case 5:
      ch2='5';
        break;
    case 6:
      ch2='6';
      break;
    case 7:
      ch2='7';
      break;
    case 8:
      ch2='8';
      break;
    case 9:
      ch2='9';
      break;
    case 10:
      ch2='a';
      break;
    case 11:
      ch2='b';
      break;
    case 12:
      ch2='c';
      break;
      case 13:
      ch2='d';
      break;
    case 14:
      ch2='e';
      break;
    case 15:
      ch2='f';
      break;
    }
    ch4[i]=ch2;
   num2=num1;
   }
 return 0;

}
int GetRandom(int num)
{
   int Sign,k;
   k=rand()%2;
   Sign=rand();
   return Sign;
}




int  EIGHTQUEEN_DONE(int num)
{   
   int i;
   FILE *fp;
   char str1[100]="int  queenout[";
   char str2[100]="int __rom InputNum=";
  
   if((fp=fopen("c:\\sign.h","wb"))==NULL)
   {
   printf("1 time Cannot open file strike any key exit!");
   return 0;
   }
   fclose(fp);

   if((fp=fopen("c:\\sign.h","ab+"))==NULL)
   {
   printf("1 time Cannot open file strike any key exit!");
   return 0;
   }
    try2(1);
   num=times*8;

   Str_printf_strname(fp,str2,num,1);
   Str_printf_strname(fp,str1,num,0);
 
   
   Str_printf_strnum(fp,global_buffer1,num);
   Str_printf_strend(fp); 
  
   fclose(fp);
   return 1;
}


void try2(int i)
{
  int j,k;
  for (j=1;j<=8;j++)
  if (a[j-1]+b[i+j-2]+c[i-j+7]==3)
  {
  a[j-1]=0;
  b[i+j-2]=0;
  c[i-j+7]=0;
   array[i]=j;
  if(i<8)
   try2(i+1);
  else
  {
   for(k=1;k<9;k++)
   {
   global_buffer1[times*8+k-1]=array[k];
   printf("%d:%d, ",k,array[k]);
   }
   times++;
    
   printf("\n%d ",times);
    printf("\n");
  }
  a[j-1]=1;
  b[i+j-2]=1;
  c[i-j+7]=1;
  }

 }











⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -