Sunday, July 28, 2024

3b. Warshal's algorithm.

 #include<stdio.h>


    #include<math.h>


    int max(int, int);


    void warshal(int p[10][10], int n) {


        int i, j, k;


        for (k = 1; k <= n; k++)


            for (i = 1; i <= n; i++)


                for (j = 1; j <= n; j++)


                    p[i][j] = max(p[i][j], p[i][k] && p[k][j]);


    }


    int max(int a, int b) {


        ;


        if (a > b)


            return (a);


        else


            return (b);


    }


    void main() {


        int p[10][10] = { 0 }, n, e, u, v, i, j;


        printf("\n Enter the number of vertices:");


        scanf("%d", &n);


        printf("\n Enter the number of edges:");


        scanf("%d", &e);


        for (i = 1; i <= e; i++) {


            printf("\n Enter the end vertices of edge %d:", i);


            scanf("%d%d", &u, &v);


            p[u][v] = 1;


        }


        printf("\n Matrix of input data: \n");


        for (i = 1; i <= n; i++) {


            for (j = 1; j <= n; j++)


                printf("%d\t", p[i][j]);


            printf("\n");


        }


        warshal(p, n);


        printf("\n Transitive closure: \n");


        for (i = 1; i <= n; i++) {


            for (j = 1; j <= n; j++)


                printf("%d\t", p[i][j]);


            printf("\n");


        }


      

    }


OUTPUT:


 Enter the number of vertices:5


 Enter the number of edges:11


 Enter the end vertices of edge 1:1 1


 Enter the end vertices of edge 2:1 4


 Enter the end vertices of edge 3:3 2


 Enter the end vertices of edge 4:3 3


 Enter the end vertices of edge 5:3 4


 Enter the end vertices of edge 6:4 2


 Enter the end vertices of edge 7:4 4


 Enter the end vertices of edge 8:5 2


 Enter the end vertices of edge 9:5 3


 Enter the end vertices of edge 10:5 4


 Enter the end vertices of edge 11:5 5 


No comments:

Post a Comment

12. N Queens

  #include<stdio.h> #include<math.h> #include<stdlib.h> int board[20],count;   int main() { int n,i,j; void queen(int row,...