Warshall Transitive Clousre

#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int a[4][4],i,j,k,r[4][4];
cout<<"Enter element of A matrix: \n";
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
cin>>a[i][j];
cout<<endl;
}
cout<<"Matrix You enterd : \n";
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
cout<<"\t"<<a[i][j];
cout<<endl;
}
cout<<"\nTransitive clousre :\n";
cout<<"R(0): \n";
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
cout<<"\t"<<a[i][j];
cout<<endl;
}
for(i=0;i<4;i++)
for(j=0;j<4;j++)
r[i][j]=a[i][j];
for(k=0;k<4;k++)
{
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
r[i][j]=r[i][j]||(r[i][k]&&r[k][j]);
}
}

cout<<"R("<<k+1<<")\n";
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
cout<<"\t"<<r[i][j];
cout<<endl;
}
}
getch();
return 0;
}
Output

How it works


Popular posts from this blog

Shutdown Pc

Ellipse using OpenGl

String Comparisons