人机交互实验代码

人机交互实验代码

ID:13947350

大小:59.50 KB

页数:24页

时间:2018-07-25

人机交互实验代码_第1页
人机交互实验代码_第2页
人机交互实验代码_第3页
人机交互实验代码_第4页
人机交互实验代码_第5页
资源描述:

《人机交互实验代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、人机交互实验代码#include"iostream"#include"stdio.h"//标准输入输出头文件#include"conio.h"//包含getch()的头文件#include"stdlib.h"//包含rand()的头文件#include"assert.h"//包含assert()的头文件#include"time.h"//包含srand()的头文件#include"windows.h"usingnamespacestd;//五个全局变量数组inta[10][10];//用来接收输入数据的数组intsd[82];//处理题目以及保存最终结果int

2、fix[82];//记录哪些位置是确定的,确定为1,否则为0intpossible[82][10];//记录所有未确定数字的可能性intstack[82];//用来放置填入的数的栈inthidden[82];//存储哪个位置的数被隐藏voidclssd();//初始化函数,所有位置设为0voidrandom();//填9个随机值填入sd[1]~sd[9],b[10]voidtransform_to_a();//sd[i]->a[line][row]的转换inttransform_to_line(inti);//实现sd[i]->a[line][row]之间的转

3、换inttransform_to_row(inti);//实现sd[i]->a[line][row]之间的转换intcalculate();//算出答案voidpreDo();//预处理voidsetPb();//控制possible数组voidhide();//遮罩,将答案中一些数值遮住voidqishi();voidshow();voidinput();voidcheck();voidmake_problem();voidprintAll();voidclssd()//初始化函数,所有位置设为0{inti,j,k;for(i=0;i<9;i++)for(j

4、=0;j<9;j++)a[i][j]=0;for(k=1;k<=81;k++)sd[k]=0;}intline(intline,intvalue)//检验行{inti;for(i=1;i<=9;i++){if(a[line][i]==value)return0;}return1;}introw(introw,intvalue)//检验列{inti;for(i=1;i<=9;i++){if(a[i][row]==value)return0;}return1;}intsquare(intline,introw,intvalue)//检验3*3的九宫{intL,R,

5、i,j;L=(line%3!=0)+line/3;//L表示所在九宫的行数R=(row%3!=0)+row/3;//R表示所在九宫的列数for(i=(L-1)*3+1;i<=L*3;i++){for(j=(R-1)*3+1;j<=R*3;j++)if(a[i][j]==value)return0;}return1;}//四个转换函数inttransform_to_line(inti)//实现sd[i]->a[line][row]之间的转换{intline;line=i/9+(i%9!=0);returnline;}inttransform_to_row(int

6、i)//实现sd[i]->a[line][row]之间的转换{introw;row=i%9+9*(i%9==0);returnrow;}voidtransform_to_a(inti)//sd[i]->a[line][row]的转换{intl,r;l=transform_to_line(i);r=transform_to_row(i);a[l][r]=sd[i];}//三个重要函数boolbeExist(inti,intj)//判断sd数组中位置为i的元素是否存在{intl,r;l=transform_to_line(i);r=transform_to_row

7、(i);if(line(l,j)*row(r,j)*square(l,r,j)==0)return1;elsereturn0;}voidsetPb()//控制possible数组{inti,j;for(i=1;i<=81;i++){for(j=1;j<=9;j++){if(sd[i]!=0)possible[i][j]=-1;//如果sd[i]为已知输入数据,则将可能值设为-1elseif(beExist(i,j)){possible[i][j]=-1;}//若在行、列、九宫内,存在相同数值则possible设为-1else{possible[i][j]=j;

8、}//其他情况可能值保存进possib

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。