Advertisement
allia

граф по списку

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