You are on page 1of 3

WARSHALL'S ALGORITHM

#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,k,n,a[50][50],p[50][50], cflag;
clrscr();
printf("\n\t\t\t WARSHALL'S ALGORITHM");
printf("\n\t\t\t ====================\n");
printf("\n\t\t ENTER THE TOTAL NUMBER OF VERTICES:");
scanf("%d",&n);
printf("\n\t\t ENTER THE ADJACENCY MATRIX:");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("\t");
scanf("%d",&a[i][j]);
p[i][j] = a[i][j];
}
}
for(k=0;k<n;k++)
{
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
p[i][j] = p[i][j] | p[i][k] & p[k][j];
}
}
}
cflag = 0;
printf("\n\t\t\t PATH MATRIX");
printf("\n\t\t\t ===========\n\n\t\t");

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("\t %d",p[i][j]);
if(p[i][j] == 1)
cflag = 1;
}
printf("\n\t\t");
}
if(cflag == 1)
printf("\n\t\t THERE IS A CYCLE IN THE GIVEN GRAPH");
getch();
}

OUTPUT:

WARSHALL'S ALGORITHM
================
ENTER THE TOTAL NUMBER OF VERTICES:4
ENTER THE ADJACENCY MATRIX:

PATH MATRIX
============
1

THERE IS A CYCLE IN THE GIVEN GRAPH

You might also like