сана на мові програмування C + + в інтегрованому середовищі розробки Microsoft Visual Studio 2005. Програма має ім'я В«Курсова робота (программ. 2 семестр)В». p align="justify"> Програма містить близько 560 рядків коду і займає близько 116 КБ на жорсткому диску.
Структурна схема
Програма В«Курсова роботаВ« програм. 2 семестр В»розбита на функції, що значно спрощує написання і налагодження вихідного коду. Структурна схема представлена ​​на малюнку 2.1. br/>В
Список функцій
Для вирішення поставленого завдання виконуються наступні функції:
В· void _input (int & var), _input (char & output, char mode = 'b'), _input (string & var) span>
Перевантажена функція _input. Служить, щоб убезпечити програму від введення неправильних даних. В якості одного з параметрів приймає значення типу int, string або char, передане по посиланню. p align="justify"> В· bool fileExists (string fileName)
Функція перевіряє фалй на існування. Функції в якості аргументу типу string передається ім'я файлу. Повертається true, якщо файл існує, або false, якщо файл з вказаним ім'ям не знайдений. p align="justify"> В· void main ()
Точка входу в додаток.
В· DirectedGraph * assembleGraph (int & NUM_VERTEX, ostream * stream)
Функція, що збирає динамічний список за елементами. В якості параметрів приймає змінну типу int, NUM_VERTEX, передану за посиланням, яка згодом буде зберігати кількість вершин заданого графа. Так само покажчик * stream на потік виведення даних. p align="justify"> В· bool getArcData (string graphName, int & NUM_VERTEX, DirectedGraph * & lastNode, ostream * stream = & cout)
Дана функція проводить читання з файлу, що містить список околиць вершин, одного значення за один виклик. Приймає параметр graphName типу string, що приймає значення імені файлу без розширення, в якому зберігається граф, параметр NUM_VERTEX типу int, що передається за посиланням, посилання на покажчик lastNode типу DirectedGraph, а так само посилання на потік виводу даних. Функція повертає значення типу bool, що показує, припинився чи введення інформації чи ні. p align="justify"> В· int findVertexAndPrintNewList (DirectedGraph * firstNode, int NUM_VERTEX, int & maxLevelOfVertex, ostream * stream)
Функція виводить на екран або у файл ступеня всіх вершин, а так само визначає ідентифікатор вершини, що має максимальну ступінь результату, і повертає його. В якості аргументів приймає покажчик на перший елемент динамічного списку, кількість вершин графа, порожню змінну maxLevelOfVertex, яка прийм...