Advertisement
allia

граф

Dec 15th, 2020
961
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.51 KB | None | 0 0
  1. #include<iostream>
  2. #include<string>
  3. #include <list>
  4.  
  5. using namespace std;
  6.  
  7. class Graph
  8. {
  9.   private:
  10.   bool orient;
  11.   int n, **arr, **vse_rebra, shet_reber;
  12.  
  13.   public:
  14.   Graph (int **matrix, int x, int shet)
  15.   {
  16.     n = x;
  17.     arr = matrix;
  18.     shet_reber = shet;
  19.   }
  20.  
  21.   void spisok ()
  22.   {
  23.     int shet = 0;
  24.  
  25.      vse_rebra = new int*[shet_reber];
  26.  
  27.      for ( int i = 0; i < shet_reber; i++)
  28.        vse_rebra[i] = new int[2];
  29.  
  30.     for (int i =0; i < n; i++)
  31.      for (int j = i; j < n; j++)  
  32.      if (arr[i][j] == 1)
  33.      {
  34.        vse_rebra[shet][0] = i+1;
  35.        vse_rebra[shet][1] = j+1;
  36.        shet++;
  37.      }
  38.   }
  39.  
  40.   void get_spisok_smejnosti()
  41.   {
  42.     for (int i =0; i < n; i++)
  43.     {
  44.       cout << i+1 << ":" << " ";
  45.        for (int j = 0; j < n; j++)  
  46.         if (arr[i][j] == 1)
  47.          cout << j+1 << " ";
  48.         cout << endl;
  49.     }
  50.   }
  51.   void get_spisok_reber()
  52.   {
  53.     for (int i=0; i<shet_reber; i++)
  54.     {
  55.       for (int j=0; j<2; j++)
  56.       {
  57.         cout.width(3);
  58.         cout << vse_rebra[i][j] << " ";
  59.       }
  60.      cout << endl;
  61.     }
  62.   }
  63.  
  64. };
  65.  
  66. int main()
  67. {
  68.  int n, shet_reber = 0;
  69.  cin >> n;
  70.  
  71. int **arr = new int*[n];
  72.  
  73. for ( int i = 0; i < n; i++)
  74.      arr[i] = new int[n];
  75.    
  76. for (int i =0; i < n; i++)
  77.   for (int j =0; j < n; j++)  
  78.      {
  79.        cin >> arr[i][j];
  80.         if (arr[i][j] == 1)
  81.          shet_reber++;
  82.      }
  83.  
  84.  shet_reber /= 2;
  85.  Graph object(arr, n, shet_reber);
  86.  object.spisok();
  87.  object.get_spisok_smejnosti();
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement