
Симметричен ли массив? Дано число n и массив размером n×n. Проверьте, является ли этот массив
симметричным относительно главной диагонали. Выведите слово "YES", если массив симметричный, и слово "NO" в противном случае. Входные данные В первой строке дано значение n≤10. Далее идут n строк по n чисел — элементы матрицы. Выходные данные Ответ на задачу. Примеры Ввод Вывод 3 0 0 0 0 1 0 0 0 2 YES

Ответы на вопрос

Решение на 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. если вам нужно решение на другом языке, я могу дополнить свое решение



Для решения этой задачи можно сравнить элементы матрицы с их соответствующими симметричными элементами относительно главной диагонали. Если все пары элементов равны, то массив является симметричным.
Вот пример кода на Python, который решает данную задачу:
pythonn = int(input()) # Вводим значение n
# Создаем двумерный массив размером n x n
matrix = []
for _ in range(n):
row = list(map(int, input().split()))
matrix.append(row)
# Проверяем симметричность массива
is_symmetric = True
for i in range(n):
for j in range(i + 1, n):
if matrix[i][j] != matrix[j][i]:
is_symmetric = False
break
# Выводим результат
if is_symmetric:
print("YES")
else:
print("NO")
Пример работы программы:
makefileВвод:
3
0 0 0
0 1 0
0 0 2
Вывод:
YES
В этом примере массив 3x3 является симметричным относительно главной диагонали, поэтому выводится "YES".


Похожие вопросы







Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili