Wednesday, 22 November 2017

C++ Program to Find Transitive Closure of a Graph


Code:

#include    stdio.h
#include    conio.h
#include    iostream
using namespace std;
void printSolution(int reach[][4])
{
    cout<<"Following matrix is transitive closure of the given graph\n";
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 4; j++)
        {
            cout<
        }
        cout<
    }
}
void transitiveClosure(int graph[][4])
{
    int reach[4][4], i, j, k;
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 4; j++)
        {
            reach[i][j] = graph[i][j];
        }
    }
    for (k = 0; k < 4; k++)
    {
        for (i = 0; i < 4; i++)
        {
            for (j = 0; j < 4; j++)
            {
                reach[i][j] = reach[i][j] || (reach[i][k] && reach[k][j]);
            }
        }
    }
    printSolution(reach);
}
int main()
{
    int graph[4][4] = { {1, 1, 0, 1},
                        {0, 1, 1, 0},
                        {0, 0, 1, 1},
                        {0, 0, 0, 1}
                      };
    transitiveClosure(graph);
    getch();
}


Output:

Following matrix is transitive closure of the given graph
1111
0111
0011
0001


More C++ Programs:













100+ Best Home Decoration Ideas For Christmas Day 2019 To Make Home Beautiful

Best gifts for Christmas Day | Greeting cards for Christmas Day | Gift your children a new gift on Christmas day This Christmas d...