Задача на проверку симметрии массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Нужно проверить симметрична ли матрица относительно побочной диагонали. Вот моя программа , помогите пожалуйста, что можно исправить, чтобы заработала?
# include <stdio.h>
# include <stdlib.h>
# include <time.h>
#define N 3
#define M 6
 int main() {
    int A[N][N],i,j,flag,yes,no;
    srand(time(NULL));
    printf("Massive A\n");
    for(i=0;i<N;i++){
     for(j=0;j<N;j++){
A[i][j]=rand()%101-50;
     printf("%d\t",A[i][j]);}
     printf("\n");
}
    for(i=0;i<N;i++){
     for(j=0;j<N;j++){
 
 if((A[i][j])=(A[N-j+1][N-i+1]))
                flag=yes;
            else flag=no;
        }
    }
        if(flag==no )                                     
        {
            printf("Ne simmetr");                       
        }
        else printf("Yes, simmetr");
        
     }

Решение задачи: «Задача на проверку симметрии массива»

textual
Листинг программы
# include <stdio.h>
# include <stdlib.h>
# include <time.h>
#define N 3
 int main() {
    int A[N][N],i,j;
    srand(time(NULL));
    printf("Massive A\n");
    for(i=0;i<N;i++){
     for(j=0;j<N;j++){
       A[i][j]=rand()%101-50;
       printf("%d\t",A[i][j]);
    }
    printf("\n");
   }
    for(i=0;i<N;i++) {
     for(j=0;j<N;j++)
       if(A[i][j]!=A[N-j-1][N-i-1]) break;
     if (j < N) break;
    }
        if (i  < N )                                     
            printf("Ne simmetr");                       
        else printf("Yes, simmetr");
  return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с массивами и временем
  2. Определение размера массива N = 3
  3. Создание двумерного массива A размером NxN и инициализация его случайными числами от -50 до 50 с помощью функции rand()
  4. Вывод массива A на экран
  5. Проверка симметрии массива с помощью двух вложенных циклов. Первый цикл проходит по всем элементам массива A, а второй цикл проверяет равенство каждого элемента массива со своим зеркальным отображением (A[i][j] сравнивается с A[N-j-1][N-i-1])
  6. Если найден элемент, не удовлетворяющий условию симметрии, то цикл прерывается с помощью оператора break
  7. Если после проверки всех элементов массива не было прерываний цикла, то считается, что массив симметричен
  8. Вывод соответствующего сообщения о наличии или отсутствии симметрии массива

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы