#include<stdio.h>
int i,j;
#define V 4
void transitiveClosure(int graph[V][V])
{
int i, j, k;
for (k = 0; k < V; k++)
{
for (i = 0; i < V; i++)
{
for (j = 0; j < V; j++)
{
graph[i][j] = graph[i][j] || (graph[i][k] && graph[k][j]);
}
}
}
printf ("Following matrix is transitive closure of the given graph\n");
for ( i = 0; i < V; i++)
{
for ( j = 0; j < V; j++)
printf ("%d ", graph[i][j]);
printf("\n");
}
}
int main()
{
int graph[V][V] = { {1, 1, 0, 1},
{0, 1, 1, 0},
{0, 0, 1, 1},
{0, 0, 0, 1}
};
transitiveClosure(graph);
return 0;
}
No comments:
Post a Comment