Предмет: Информатика, автор: podsevalovax4667

Симметричен ли массив?

Дано число n и массив размером n×n. Проверьте, является ли этот массив симметричным относительно главной диагонали. Выведите слово "YES", если массив симметричный, и слово "NO" в противном случае.


Входные данные


В первой строке дано значение n≤10. Далее идут n строк по n чисел — элементы матрицы.


Выходные данные


Ответ на задачу.


Примеры

Ввод

Вывод

3

0 0 0

0 1 0

0 0 2

YES

Ответы

Автор ответа: BenkoNikita53
0

Решение на C(си):
#define _CRT_SECURE_NO_WARNINGS // если вы используете visual studio

#include <stdio.h>

#include <stdlib.h>

int main() {

int n;

scanf("%d", &n);

int** mat;

mat = (int**)malloc(n * sizeof(int*));

for (int i = 0; i < n; ++i) {

 mat[i] = (int*)malloc(n * sizeof(int));

 for (int j = 0; j < n; ++j) {

  scanf("%d", &mat[i][j]);

 }

}

for (int i = 0; i < n; ++i) {

 for (int j = 0; j < i; ++j) {

  if (mat[i][j] != mat[j][i]) {

   printf("NO");

   return 0;

  }

 }

}

printf("YES");

return 0;

}

Решение на C++:

#include <iostream>

#include <vector>

using namespace std;

int main() {

int n;

cin >> n;

vector<vector<int>> mat(n, vector<int>(n));

for (int i = 0; i < n; ++i) {

 for (int j = 0; j < n; ++j) {

  cin >> mat[i][j];

 }

}

for (int i = 0; i < n; ++i) {

 for (int j = 0; j < i; ++j) {

  if (mat[i][j] != mat[j][i]) {

   cout << "NO";

   return 0;

  }

 }

}

cout << "YES";

return 0;

}

Решение задач проверил на сайте https://informatics.msk.ru/mod/statements/view3.php?id=282&chapterid=355#1

P.S. если вам нужно решение на другом языке, я могу дополнить свое решение

Похожие вопросы
Предмет: Математика, автор: many81