我有C89作业
我需要遍历2D数组,即:a [N] [N],N必须为奇数 当通过矩阵的主对角线到元素a [i] [j]和i = j时,我们需要查看a [i-1] [j + 1] = a [i + 1] [j -1],然后继续检查它们是否相等,这是回文,因此我们需要遍历所有主要对角线,并检查矩阵具有的最长回文,然后计算对角线的元素和所有数字 我写了一个代码,但是它不起作用,我也不知道怎么了? 我不知道这是对的吗?
但是它还必须对a [3] [3]和a [5] [5]的矩阵起作用,这意味着所有奇数。
`#include <stdio.h>
# define N 7
int main()
{
int mat[N][N];
int i,j,m,n,count=0,max_polindrome=0;
printf("Enter values the 2d array of size 7\n");
for(i=0; i<N; i++)
{
for(j=0; j<N; j++)
{
scanf("%d",&mat[i][j]);
}
}
for(i=1;i<N;i++){
for(i=j;i!=0,i!=N-1,j!=0,j!=N-1;i++,j--){
printf("what's wrong??");
if(mat[i-1][j+1]=mat[i+1][j-1]){
count +=2;
}
}
if(count>max_polindrome){
max_polindrome=count+1;
}
count=0;
}
printf("size of max polindrome is %d",max_polindrome);
return 0;
}`
例如: 输入为: 输入大小为7的二维数组的值;
1 2 3 24 3 2 5
3 15 1 2 3 200 2
24 1 1 1 100 2 2
31 20 20 38 1 2 3
1 2 100 2 3 4 5
1 200 3 4 5 6 7
7 1 2 3 4 5 6
输出为: 最大回文数是:5