Wednesday, 22 November 2017

C++ Program to Represent Graph Using 2D Arrays


Code:

#include   iostream
#include   iomanip

using namespace std;

// A function to print the matrix.
void PrintMat(int **mat, int n)
{
int i, j;

cout<<"\n\n"<
for(i = 0; i < n; i++)
cout<
cout<<"\n\n";

// Print 1 if the corresponding vertexes are connected otherwise 0.
for(i = 0; i < n; i++)
{
cout<
for(j = 0; j < n; j++)
{
cout<
}
cout<<"\n\n";
}
}

int main()
{
int i, v, e, j, v1, v2;

// take the input of the number of edges.
cout<<"Enter the number of vertexes of the graph: ";
cin>>v;

// Dynamically declare graph.
int **graph;
graph = new int*[v];

for(i = 0; i < v; i++)
{
graph[i] = new int[v];
for(j = 0; j < v; j++)graph[i][j] = 0;
}

cout<<"\nEnter the number of edges of the graph: ";
cin>>e;

// Take the input of the adjacent vertex pairs of the given graph.
for(i = 0; i < e; i++)
{
cout<<"\nEnter the vertex pair for edge "<
cout<<"\nV(1): ";
cin>>v1;
cout<<"V(2): ";
cin>>v2;

graph[v1-1][v2-1] = 1;
graph[v2-1][v1-1] = 1;
}

// Print the 2D array representation of the graph.
PrintMat(graph, v);
}



Output:

Case 1:
Enter the number of vertexes of the graph: 5

Enter the number of edges of the graph: 8

Enter the vertex pair for edge 1
V(1): 1
V(2): 3

Enter the vertex pair for edge 2
V(1): 1
V(2): 4

Enter the vertex pair for edge 3
V(1): 1
V(2): 5

Enter the vertex pair for edge 4
V(1): 2
V(2): 3

Enter the vertex pair for edge 5
V(1): 2
V(2): 5

Enter the vertex pair for edge 6
V(1): 3
V(2): 4

Enter the vertex pair for edge 7
V(1): 3
V(2): 5

Enter the vertex pair for edge 8
V(1): 4
V(2): 5


      (1)  (2)  (3)  (4)  (5)

  (1)   0   0   1   1   1

  (2)   0   0   1   0   1

  (3)   1   1   0   1   1

  (4)   1   0   1   0   1

  (5)   1   1   1   1   0

Case 2:
Enter the number of vertexes of the graph: 4

Enter the number of edges of the graph: 4

Enter the vertex pair for edge 1
V(1): 1
V(2): 2

Enter the vertex pair for edge 2
V(1): 1
V(2): 4

Enter the vertex pair for edge 3
V(1): 2
V(2): 3

Enter the vertex pair for edge 4
V(1): 3
V(2): 4


      (1)  (2)  (3)  (4)

  (1)   0   1   0   1

  (2)   1   0   1   0

  (3)   0   1   0   1

  (4)   1   0   1   0




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...