Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Graph {
  5. private:
  6. int** adjacencyMatrix;
  7. int vertexCount;
  8. public:
  9. Graph(int vertexCount) {
  10. this->vertexCount = vertexCount;
  11. adjacencyMatrix = new int*[vertexCount];
  12. for (int i = 0; i < vertexCount; i++) {
  13. adjacencyMatrix[i] = new int[vertexCount];
  14. for (int j = 0; j < vertexCount; j++)
  15. adjacencyMatrix[i][j] = 0;
  16. }
  17. }
  18.  
  19. void addEdge(int i, int j) {
  20. if (i >= 0 && i < vertexCount && j > 0 && j < vertexCount) {
  21. adjacencyMatrix[i][j]++;
  22. adjacencyMatrix[j][i]++;
  23. }
  24. }
  25.  
  26. void print(int n){
  27. for (int i = 1; i <= n; i++) {
  28. for (int j = 1; j <= n; j++) {
  29. cout << adjacencyMatrix[i][j] << " ";
  30. }
  31. cout << "\n";
  32. }
  33. }
  34.  
  35. ~Graph() {
  36. for (int i = 0; i < vertexCount; i++)
  37. delete[] adjacencyMatrix[i];
  38. delete[] adjacencyMatrix;
  39. }
  40. };
  41.  
  42. int main() {
  43. int q, s = 0;
  44. cin >> q >> s;
  45.  
  46. Graph a(s);
  47. int n = 0;
  48. int m = 0;
  49. for (int i = 0; i < s; i++) {
  50. cin >> n >> m;
  51. a.addEdge(n, m);
  52. }
  53. cout << q << endl;
  54. a.print(q);
  55.  
  56. return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement