Отношение задано матрицей. Определить транзитивно ли оно. Найти матрицу его транзитивного замыкания. Применить алгоритм Уоршалла Где ошибка?

#include <fstream>
#include <vector>
#include <windows.h>

using namespace std;

class Matrix
{
private:
    int **matrix;
    int N;

void func_Transitive()
{
ifstream file("matrix.txt");

for (int l = 0; l < N; l++) {
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            if (matrix[i][j] == 1) {
                for (int k = 0; k < N; k++) {
                    if (matrix[j][k] == 1) {
                        matrix[i][k] = 1;
                        }
                    }
                }
            }
        }
    }

    cout << "Якщо результат = введеній матриці, то матриця транзитивна" << endl;
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            cout << matrix[i][j];
            cout << '\n';
        }
    }


}



 void func_Uorshall{
   for (k = 0; k < N; k++)
    {
        for (i = 0; i < N; i++)
        {
          for (j = 0; j < N; j++)
            {
              matrix[i][j] = matrix[i][j] || (matrix[i][k] && matrix[k][j]);
              }
        }
    }
    cout << "За алогоритмом Уоршалла" << endl;
    for ( i = 0; i < count; i++)
    {
        for ( j = 0; j < count; j++)
            cout << matrix[i][j];
             cout << "\n";
             file.close();
  }
    };


  public:
    Matrix()
    {
        ifstream file("matrix.txt");
        file >> N;
        if(N<0){
            cout << "Матриця не існує" << endl;
            exit(1);}

        matrix = new int*[N];


        for (int i = 0; i<N; i++){
        matrix[i] = new int[N];
      }
        for (int i=0; i<N; i++){
                for (int j=0; j<N; j++){
                        file >> matrix[i][j];
                }
        }
        file.close();
    }
};
int main()
{
    setlocale(LC_ALL,"rus");

}```

Ответы (0 шт):