считая максимальный палиндром диагональной матрицы - PullRequest
0 голосов
/ 03 июня 2019

У меня есть домашнее задание на C89

Мне нужно пройти через двумерный массив, а именно: [N] [N], N должно быть нечетным числом при прохождении по главной диагонали матрицы дляВ качестве примера для элементов a [i] [j] и i = j нам нужно посмотреть, если a [i-1] [j + 1] = a [i + 1] [j-1], и мы продолжаем проверять, равны ли они, это палиндром, поэтому нам нужно пройти через всю основную диагональ и проверить, какой самый длинный палиндром у матрицы, и мы подсчитаем элемент диагонали и все числа, которые я написал код, но он не работает, и я незнаете что не так?и я не знаю, правильно ли это ??

, но это должно работать и для матрицы из [3] [3] и [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;
}`

, например: ввод: введите значения 2-мерного массива размером 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

...