#include<iostream>
#include<stdio.h>
#include<conio.h>
using namespace std;
int main()
{
int a[20][20],b[20][20],c[20][20],i,j,k,m,n,f;
cout << "Input row and column of A matrix \n\n";
cin >> n >> m;
cout << "\n\nInput A - matrix \n\n";
for(i=0;i<n;++i)
for(j=0;j<m;++j)
cin >> a[i][j];
cout << "\n\nMatrix A : \n\n";
for(i=0;i<n;++i)
{
for(j=0;j<m;++j)
cout << a[i][j] << " ";
cout << "\n\n";
}
for(i=0;i<m;++i)
for(j=0;j<n;++j)
b[i][j]=a[j][i];
cout << "\n\nTranspose of matrix A is : \n\n";
for(i=0;i<m;++i)
{
for(j=0;j<n;++j)
cout << b[i][j] << " ";
cout << "\n\n";
}
for(i=0;i<m;i++)
{
for(j=0;j<m;j++){
c[i][j]=0;
for(k=0;k<=m;k++)
c[i][j]+=a[i][k]*b[k][j];
}
}
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
if((int)c[i][i]==1&&(int)c[i][j]==0)
f=1;
}
}
cout<<"\n\n Matrix A * transpose of A \n\n";
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
cout << c[i][j];
cout << "\n\n";
}
if(f==1)
cout << "\n\nMatrix A is Orthogonal !!!";
else
cout << "\n\nMatrix A is NOT Orthogonal !!!";
getch();
return 0;
}
-ALOK