Список функций
Для решения поставленной задачи выполняются следующие функции: · void _input(int &var), void _input(char &output, char mode = 'b'), void _input(string &var) Перегруженная функция _input. Служит, чтобы обезопасить программу от ввода неверных данных. В качестве одного из параметров принимает значение типа int, string или char, передаваемое по ссылке. · bool fileExists(string fileName) Функция проверяет фалй на существование. Функции в качестве аргумента типа string передаётся имя файла. Возвращается true, если файл существует, или false, если файл с указанным именем не найден. · void main() Точка входа в приложение. · DirectedGraph *assembleGraph(int &NUM_VERTEX, ostream *stream) Функция, собирающая динамический список по элементам. В качестве параметров принимает переменную типа int, NUM_VERTEX, передаваемую по ссылке, которая впоследствии будет хранить количество вершин заданного графа. Так же указатель *stream на поток вывода данных. · bool getArcData(string graphName, int &NUM_VERTEX, DirectedGraph *&lastNode, ostream *stream = &cout) Данная функция производит чтение из файла, содержащего список окрестностей вершин, одного значения за один вызов. Принимает параметр graphName типа string, принимающий значение имени файла без расширения, в котором хранится граф, параметр NUM_VERTEX типа int, передающийся по ссылке, ссылку на указатель lastNode типа DirectedGraph, а так же ссылку на поток вывода данных. Функция возвращает значение типа bool, показывающее, прекратился ли ввод информации или нет. · int findVertexAndPrintNewList(DirectedGraph *firstNode, int NUM_VERTEX, int &maxLevelOfVertex, ostream *stream) Функция выводит на экран или в файл степени всех вершин, а так же определяет идентификатор вершины, имеющей максимальную степень исхода, и возвращает его. В качестве аргументов принимает указатель на первый элемент динамического списка, количество вершин графа, пустую переменную maxLevelOfVertex, которая принимает значение в теле данной функции, а так же указатель на поток вывода информации. · bool foundInArray(int value, int *arr, int NUM_ITEMS) Функция принимает в качестве аргументов значение, наличие которого в массиве необходимо определить, указатель на одномерный массив типа int и количество элементов массива. Возвращает истину, если в массиве есть элемент с заданным значением, или ложь, если в массиве такого элемента нет. · fstream openFile(string fileName, char mode) Функция открывающая файл для заданного режима: I – чтение, o – запись, a – дозапись. В качестве аргументов передаются имя файла и режим. Возвращает объект класса fstream. · void removeNode(DirectedGraph *node, DirectedGraph *&firstNode) Данная функция удаляет из динамического списка переданный ей в качестве первого аргумента элемент. Так же передаётся ссылка на указатель на первый элемент динамического списка. · void removeAdjacentVertex(DirectedGraph *&firstArc, int vertexId, int vertexLevel) Функция удаляет из графа вершины, смежные с заданной (идентификатор заданной вершины передаётся в параметра vertexId). Первый аргумент функции – указатель на первый элемент динамического списка, третий параметр – степень исхода передаваемой вершины. · void printNeiborhoodsList(DirectedGraph *firstNode, ostream *stream, int NUM_VERTEX, string title = "") Функция выводит список окрестностей вершин графа на экран или в файл. Первый параметр – первый элемент динамического списка, второй параметр – указатель на поток вывода, третий параметр – указатель на поток вывода, четвёртый параметр – количество вершин в графе, пятый параметр – заголовок перед выводом на экран или в файл. · bool **completeAdjacencyMatrix(DirectedGraph *firstNode, int NUM_VERTEX) Функция создаёт и заполняет матрицу смежности для заданного ориентированного графа. В качестве параметров передаются первый элемент динамического списка и количество вершин в графе. Возвращается указатель на двумерный динамический массив. · void printMatrix(bool **matrix, int dimension, ostream *stream, string title = "") функция, выводящая матрицу на экран или в файл. В качестве аргументов передаются матрица, размерность матрицы указатель на выходной поток и заголовок, соответственно. · void clearMatrix(bool **matrix, int dimention) функция очищает память, отведённую под матрицу matrix с размерностью dimention. · int getKeyByValue(int value, int *arr, int numItems) Функция определяет и возвращает номер ключа массива, соответствующий значению value. В качестве параметров принимает значение для поиска, одномерный массив и его размерность.
|