Blogger news

Followers

Monday, July 21, 2014
/*Computer the Transitive closure of a given directed graph using warshall’s algorithm*/

#include<stdio.h>
void warshall(int);
long int ad[10][10];
void main()
{
            int i, j,n;
            printf("\n****Warshalls Algorithm****\n");
            printf("Enter the number of nodes\n\n");
            scanf("%d",&n);
            printf("\nEnter the graphs in the form of adjacency matrix\n\n");
            for(i=1;i<=n;i++)
                        for(j=1;j<=n;j++)
                                    scanf("%ld",&ad[i][j]);
            printf("\n\nThe adjacency matrix is:\n\n");
            for(i=1;i<=n;i++)
            {
                        for(j=1;j<=n;j++)
                                    printf("%ld\t",ad[i][j]);
                        printf("\n");
            }
            warshall(n);
            printf("\nThe transitive closure of given directed graph is\n");
            for(i=1;i<=n;i++)
            {
                        for(j=1;j<=n;j++)
                                    printf("%ld\t",ad[i][j]);
                        printf("\n");
            }
}
void warshall(int n)
{
            int i,j,k;
            for(k=1;k<=n;k++)
                        for(i=1;i<=n;i++)
                                    for(j=1;j<=n;j++)
                                                ad[i][j]=ad[i][j]||ad[i][k]&&ad[k][j];
           
}

                                   


0 comments: