C++程序:折纸游戏

核心提示#include<iostream>#include<string>using namespace std;//两种算法,第一种算法效率高点,第二种算法生成的程序大小比第一种的小/*bool compare(int *a,int m,int

#include<iostream>

#include<string>

using namespace std;

//两种算法,第一种算法效率高点,第二种算法生成的程序大小比第一种的小

bool compare(int *a,int m,int rsize)

{

int i,j;

for(i=0;i<m;i++)

{

for(j=0;j<m;j++)

{

if(a[i*m+j]!=a[(i+1)*m-1-j])

return false;

if(a[i*m+j]!=a[(m-i-1)*m+j])

return false;

}

}

return true;

}

void main()

{

int *a;

int n=0;

int m=0;

string *b;

int i,j;

int rsize=0;

cout<<"请输入一个整数:";

cin>>n;

b=new string[n];

j=0;

while(j<n)

{

cout<<"请输入矩阵边长:";

cin>>m;

rsize=m*m;

a=new int[rsize];

cout<<"请输入矩阵:"<<endl;

for(i=0;i<rsize;i++)

cin>>a[i];

if(compare(a,m,rsize))

b[j]="Yes";

else

b[j]="No";

delete[] a;

j++;

}

cout<<"输出:"<<endl;

for(i=0;i<n;i++)

cout<<b[i]<<endl;

delete[] b;

}

 导语:80后的小伙伴可能不会忘记的折纸游戏,当年时下最流行的就是东南西北小游戏,话说是把当时看的金庸武侠剧的`几个男女主角配对,其后来发展为把自己帮上的同学名字写上,分别配对竞猜,听着就是很有趣的游戏,你也来折折看吧~

东南西北怎么折?

 准备一张正方形的纸,先对折成三角形。

 接着把三角形再对折一次。

 展开后就是上图的样子。

 再把四个角往中心折。

 然后把整个折纸翻过来。

 再一次把四个角往中心折,所以大家准备纸张的时候要稍微大一点哦!

 正面对折一次。

 这个时候变成一个长方形,然后再对折。

 打开后,东南西北就折好啦~

 最后当然是拿出画笔,在东南西北上画图案和写字啦~

 
友情链接
鄂ICP备19019357号-22