来自这位博主,稍加改动
int checkHorSym(char** pA, int n)
{
for (int i = 0; i < n; i++) //判断每行是否对称
{
for (int j = 0; j < n; j++)
{
if (pA[i][j] != pA[i][n-1-j])
{
return 0;
}
}
}
return 1;
}
int checkVerSym(char** pA, int n) //判断每列是否对称
{
for (int i = 0; i < n / 2; i++)
{
for (int j = 0; j < n; j++)
{
if (pA[i][j] != pA[n - 1 - i][j])
{
return 0;
}
}
}
return 1;
}
int checkDiaSym(char** pA, int n) //判断左对角线是否对称
{
for (int i = 1; i < n; i++)
{
for (int j = i - 1; j < n; j++)
{
if (pA[i][j] != pA[j][i])
{
return 0;
}
}
}
return 1;
}
int checkAntiDiaSym(char** pA, int n) //判断左对角线是否对称
{
{
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (pA[i][j] != pA[n - 1 - j][n - 1 - i])
{
return 0;
}
}
}
return 1;
}
int checkRotSym(char** pA, int n) //判断旋转后是否对称
{
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (pA[i][j] != pA[n - 1 - i][n - 1 - j])
{
return 0;
}
}
}
return 1;
}