Предмет: Информатика,
автор: OhmyyGod
С++ Написать программу, которая проверяет, является ли квадратная матрица симметричной относительно главной диагонали.
Входные данные
В первой строке записаны через пробел размер квадратной матрицы N (количество строк равно количеству столбцов) ( 1 ≤ N ≤ 100 ). В следующих N строках записаны строки матрицы, в каждой – по N натуральных чисел, разделённых пробелами.
Выходные данные
Программа должна вывести слово 'YES', если матрица симметричная, и слово 'NO', если матрица несимметричная.
Помогите пожалуйста
Ответы
Автор ответа:
0
//Dev C++ 4.9.9.2
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
cout<<endl;
int **ma;
ma=(int **)malloc(sizeof(int*)*n);
for (int i=0;i<n;i++){
ma[i]=(int*)malloc(sizeof(int)*n);}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
cin>>ma[i][j];
cout<<endl;}
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(ma[i][j]!=ma[j][i]){
cout<<"NO";
cin.get();
cin.get();
return 0;}
cout<<"YES";
cin.get();
cin.get();
return 0;
}
Пример ввода:
4
1
2
3
4
2
1
2
3
3
2
1
4
4
3
4
1
Пример вывода:
YES
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
cout<<endl;
int **ma;
ma=(int **)malloc(sizeof(int*)*n);
for (int i=0;i<n;i++){
ma[i]=(int*)malloc(sizeof(int)*n);}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
cin>>ma[i][j];
cout<<endl;}
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(ma[i][j]!=ma[j][i]){
cout<<"NO";
cin.get();
cin.get();
return 0;}
cout<<"YES";
cin.get();
cin.get();
return 0;
}
Пример ввода:
4
1
2
3
4
2
1
2
3
3
2
1
4
4
3
4
1
Пример вывода:
YES
Похожие вопросы
Предмет: Английский язык,
автор: aadmoad556
Предмет: Геометрия,
автор: sthjd
Предмет: Русский язык,
автор: Аноним
Предмет: Биология,
автор: missisankudino