#2
qunxingw2013-04-11 17:27
|
1:转90度:图案按顺时针转90度。
2:转180度:图案按顺时针转180度。
3:转270度:图案按顺时针转270度。
4:反射:图案在水平方向翻转(以中央铅垂线为中心形成原图案的镜像)。
5:组合:图案在水平方向翻转,然后再按照1到3之间的一种再次转换。
6:不改变:原图案不改变。
7:无效转换:无法用以上方法得到新图案。
如果有多种可用的转换方法,请选择序号最小的那个。
只使用1--7中的一个步骤来完成这次转换。
程序代码:
#include<stdio.h>
int zhuan1();
int zhuan2();
int zhuan3();
int zhuan4();
int zhuan5();
int zhuan6();
int zhuan7();
int zhuan8();
int zhuan9();
int main()
{
char in[11][11],out[11][11],bian[11][11];
int N,i,j,a=0;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
scanf("%c",&in[i][j]);
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
scanf("%c",&out[i][j]);
}
}
zhuan1();
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan2();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan3();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan4();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan5();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan6();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan7();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan8();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan9();
}
}
printf("%d",a);
return 0;
}
int zhuan1(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[j][N-i+1]=in[i][j];
a=1;
return a;
}
int zhuan2(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-i+1][N-i+1]=in[i][j];
a=2;
return a;
}
int zhuan3(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-j+1][i]=in[i][j];
a=3;
return a;
}
int zhuan4(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[j][i]=in[i][j];
a=4;
return a;
}
int zhuan5(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-i+1][N-i+1]=in[i][j];
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[j][N-i+1]=in[i][j];
a=5;
return a;
}
int zhuan6(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-i+1][N-i+1]=in[i][j];
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-i+1][N-i+1]=in[i][j];
a=5;
return a;
}
int zhuan7(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-i+1][N-i+1]=in[i][j];
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-j+1][i]=in[i][j];
a=5;
return a;
}
int zhuan8(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[i][j]=in[i][j];
a=7;
return a;
}
int zhuan9(int a)
{
a=7;
return a;
}
int zhuan1();
int zhuan2();
int zhuan3();
int zhuan4();
int zhuan5();
int zhuan6();
int zhuan7();
int zhuan8();
int zhuan9();
int main()
{
char in[11][11],out[11][11],bian[11][11];
int N,i,j,a=0;
scanf("%d",&N);
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
scanf("%c",&in[i][j]);
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
scanf("%c",&out[i][j]);
}
}
zhuan1();
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan2();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan3();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan4();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan5();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan6();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan7();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan8();
}
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
if(bian[i][j]!=out[i][j])
break;
else
zhuan9();
}
}
printf("%d",a);
return 0;
}
int zhuan1(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[j][N-i+1]=in[i][j];
a=1;
return a;
}
int zhuan2(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-i+1][N-i+1]=in[i][j];
a=2;
return a;
}
int zhuan3(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-j+1][i]=in[i][j];
a=3;
return a;
}
int zhuan4(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[j][i]=in[i][j];
a=4;
return a;
}
int zhuan5(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-i+1][N-i+1]=in[i][j];
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[j][N-i+1]=in[i][j];
a=5;
return a;
}
int zhuan6(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-i+1][N-i+1]=in[i][j];
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-i+1][N-i+1]=in[i][j];
a=5;
return a;
}
int zhuan7(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-i+1][N-i+1]=in[i][j];
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[N-j+1][i]=in[i][j];
a=5;
return a;
}
int zhuan8(int N,int i,int a,int j,char bian[11][11],char in[11][11])
{
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
bian[i][j]=in[i][j];
a=7;
return a;
}
int zhuan9(int a)
{
a=7;
return a;
}
运行后不能完全把数据输入进去就退出了,求解释。