Добавил:
bagiwow
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование / Лабораторные / 8 вариант 1 курс / laba 5 / laba5
.cpp/* Написать функцию транспонирования квадратной матрицы (т.е. поворота исходной матрицы на 90 ).
С ее помощью определить является ли заданная матрица симметрической.
(Матрица называется симметрической, если транспониро-ванная матрица равна исходной).*/
#include <iostream.h>
#include <stdlib.h>
void make (int a[10][10], int n)
{
int i,j;
for (i=0;i<n;i++)
{ for(j=0;j<n;j++)
a[i][j]=rand()%5;
}
}
void print (int a[10][10],int n)
{
for (int i=0;i<n;i++)
{ for (int j=0;j<n;j++)
cout<<a[i][j]<<" ";
cout<<"\n";
}
}
void transp (int a[10][10],int c[10][10],int n)
{
int i,j,f,r;
for (i=0,f=0;i<n,f<n;i++,f++)
{ for(j=0,r=0;j<n,r<n;j++,r++)
c[f][r]=a[j][i];
}
}
void proverka (int a[10][10],int c[10][10],int n)
{
int i,j,f,r,s;
for (i=0,f=0;i<n,f<n;i++,f++)
{ for(j=0,r=0;j<n,r<n;j++,r++)
if (a[i][j]==c[f][r]) s++;
}
if (s==n*n) cout<<"Matrica simmetrichna!"<<"\n";
else cout<<"Matrica ne simmetrichna!"<<"\n";
}
void main ()
{ int a[10][10],c[10][10],n;
cout<<"Enter n="; cin>>n;
make (a,n);
print(a,n);
transp(a,c,n);
cout<<"\n";
print(c,n);
proverka(a,c,n);
}