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
advertisement
If you wish to look at all C++ Programming examples, go to C++ Programs.
If you find any mistake above, kindly email to [email protected]Related Posts:
- Check C++ Books
- Apply for Computer Science Internship
- Practice Programming MCQs
- Check Programming Books
- Practice Computer Science MCQs