С++ Программа не компилируется

Создаю граф, для него матрицу смежности (1 - есть ребро, 0 - нет). Потом должна быть проверка на смежность вершин. Если хотя бы две вершины не смежны, то граф не транзитивный.

Ошибка: C4067 непредвиденные лексемы за директивой препроцессора, требуется newline main
C2143 синтаксическая ошибка: отсутствие ";" перед "using namespace" main

main.cpp

#include <iostream>
#include <fstream>
#include "Tran.h"
using namespace std;

int main(int n)
{
 setlocale(LC_ALL, "ru");
  ofstream fsout;
  fsout.open("file.txt");

  cout << "Введите количество вершин: "; 
  cin >> n;
  int** matrix = new int* [n]; 
  for (int i = 0; i < n; i++) 
    matrix[i] = new int[n];
  for (int i = 0; i < n; i++) 
  {
   cout << "Введите " << n << " элементов в строке " << i + 1 << ": ";
   for (int j = 0; j < n; j++)
   cin >> matrix[i][j];
  }
  for (int i = 0; i < n; i++) 
  {
   for (int j = 0; j < n; j++)
   if (matrix[i][j] != 0 && matrix[i][j] != 1) 
   {
    cout << "Некорректные данные" << endl;
    return 0;
   }
  }
  for (int i = 0; i < n; i++)
  delete[]matrix[i];
  //cout << "\nPress Enter for exit\n"; cin.get(); cin.get();

      for (int i = 0; i < n; i++)
      {
          matrix[i] = new int[n];
          for (int j = 0; j < n; j++)
          {
              matrix[i][j] = 0;
          }
      }

      if (Tran(matrix, n))
      {
          fsout << "Граф является транзитивным\n";
      }
      else 
      {
          fsout << "Граф является не транзитивным\n";
      }
      //exit(EXIT_SUCCESS);

    fsout.close();
    return 0;
}

Tran.h

#pragma once
bool Tran(int** matrix, int n)

Tran.cpp

bool Tran(int** matrix, int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if (matrix[i][j])
            {
                for (int u = 0; u < n; u++)
                {
                    if (i != u && j != u)
                    {
                        if ((bool)matrix[i][u] != (bool)matrix[u][j])
                        {
                            return false;
                        }
                    }
                }
            }
        }
    }
    return true;
}

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