С++ Программа не компилируется
Создаю граф, для него матрицу смежности (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;
}