allia

транзитивность доделать

Dec 5th, 2020
579
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. int check (int **matriza, int n)
  7. {
  8.   int shet, s = 0;
  9.    for ( int i = 0; i < n-2; i++)
  10.      for (int j = i+2; j < n-1; j++)
  11.       for (int s = j+1; s < n; s++)
  12.       if (matriza[i][j] == 1 && matriza[j][s] == 1 && matriza[i][s] != 1 && i != s != j)
  13.        shet++;
  14.  
  15.   return shet;
  16. }
  17.  
  18. void povorot(int **arr, int n)
  19. {
  20.   for (int i=0; i < n-1; i++)
  21.     for (int j=i+1; j < n; j++)
  22.         swap (arr[i][j], arr[j][i]);
  23. }
  24.  
  25. int main()
  26. {
  27.   int n, shet = 0;
  28.   cin >> n;
  29.   int **matriza = new int*[n];
  30.  
  31.   for (int i = 0; i <n; i++)
  32.   matriza[i] = new int[n];
  33.  
  34.   for ( int i = 0; i < n; i++)
  35.    for (int j = 0; j < n; j++)
  36.     cin >> matriza[i][j];
  37.  
  38.   shet = check(matriza, n);
  39.   if (shet == 0)
  40.    {
  41.      povorot(matriza, n);
  42.      shet = check(matriza, n);
  43.    }
  44.    
  45.   if (shet == 0)
  46.     cout << 1;
  47.     else cout << 0;
  48. }
  49.  
RAW Paste Data