This C++ Program demonstrates the implementation of Adjacency Matrix.
Here is source code of the C++ Program to demonstrate the implementation of Adjacency Matrix. The C++ program is successfully compiled and run on a Linux system. The program output is also shown below.
/** C++ Program to Implement Adjacency Matrix*/#include <iostream>#include <cstdlib>using namespace std;
#define MAX 20/** Adjacency Matrix Class*/class AdjacencyMatrix{private:
int n;
int **adj;
bool *visited;
public:
AdjacencyMatrix(int n)
{this->n = n;
visited = new bool [n];
adj = new int* [n];
for (int i = 0; i < n; i++)
{adj[i] = new int [n];
for(int j = 0; j < n; j++)
{adj[i][j] = 0;
}}}/** Adding Edge to Graph*/void add_edge(int origin, int destin)
{if( origin > n || destin > n || origin < 0 || destin < 0)
{cout<<"Invalid edge!\n";
}else{adj[origin - 1][destin - 1] = 1;
}}/** Print the graph*/void display()
{int i,j;
for(i = 0;i < n;i++)
{for(j = 0; j < n; j++)
cout<<adj[i][j]<<" ";
cout<<endl;
}}};
/** Main*/int main()
{int nodes, max_edges, origin, destin;
cout<<"Enter number of nodes: ";
cin>>nodes;
AdjacencyMatrix am(nodes);
max_edges = nodes * (nodes - 1);
for (int i = 0; i < max_edges; i++)
{cout<<"Enter edge (-1 -1 to exit): ";
cin>>origin>>destin;
if((origin == -1) && (destin == -1))
break;
am.add_edge(origin, destin);
}am.display();
return 0;
}
$ g++ adjacency_matrix.cpp $ a.out Enter number of nodes: 5 Enter edge (-1 -1 to exit): 1 2 Enter edge (-1 -1 to exit): 1 4 Enter edge (-1 -1 to exit): 1 5 Enter edge (-1 -1 to exit): 2 3 Enter edge (-1 -1 to exit): 2 5 Enter edge (-1 -1 to exit): 3 1 Enter edge (-1 -1 to exit): 5 2 Enter edge (-1 -1 to exit): 4 3 Enter edge (-1 -1 to exit): -1 -1 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 ------------------ (program exited with code: 1) Press return to continue
Sanfoundry Global Education & Learning Series – 1000 C++ Programs.
advertisement
If you wish to look at all C++ Programming examples, go to C++ Programs.
Related Posts:
- Practice Programming MCQs
- Check Computer Science Books
- Check C++ Books
- Practice Computer Science MCQs
- Apply for Computer Science Internship