Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОП_Сем.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
339 Кб
Скачать
☆
  1. Програмні реалізації алгоритму

1.Загальна характеристика програми

Дана програма називається – «Пошук шляхів у графі», «kod.cpp» – файл в якому записано код програми (розмір – 3 312 байт, кількість рядків – 197 ), «matr.txt» – файл в якому записано матрицю суміжності і з якого буде зчитуватися дані(розмір залежить від користувача), «list.txt» – файл в якому записано список вершин і з якого буде зчитуватися дані(розмір залежить від користувача), «output.txt» – файл в якому буде записано результат програми (розмір залежить від введених даних). Дана програма написана мовою С.

2.Призначення програми

Дану програму використовують для знаходження усіх можливих шляхів проходження по графу.

3.Вхідна інформація

Спочатку на екран виводиться повідомлення:

  • Виберiть спосiб задання графа:

  • Матриця сумiжностi введiть "1"

  • Списки вершин введiть "2"

Після чого користувач повинний ввести "1" або "2", якщо користувач вводить щось інше, програма виводить повідомлення:

  • Неправильнi данi!!!

Після чого закінчує свою роботу.

Наступне повідомлення:

  • Ввести данi:

  • З клавiатури –"1"

  • З фала – "2"

Після чого користувач повинний ввести "1" або "2", якщо користувач вводить щось інше, програма виводить повідомлення:

  • Неправильнi данi!!!

Після чого закінчує свою роботу.

Якщо користувач ввів "1", він повинний задати граф відповідно до вибраного формату, діну зчитуються як масив рядків. Якщо користувач ввів "2", тоді виводиться повідомлення:

  • Введiть iм’я файла:

Після чого користувач вводить ім’я файлу. Якщо дані записані в одному з файлів «list.txt» або «matr.txt», то достатньо ввести їхнє ім’я, вказувати формат не обов’язково. Якщо ж це якийсь інакший файл тоді необхідно вказати шлях до нього та його ім’я.

Максимальна кількість вершин яка може бути задана – 20. Правильність даних контролюється при їх перетворенні в зручну для програми форму.

Приклад введення даних

Матриця суміжності

011000

101100

110110

011001

001001

000110

Список вершин

123

2134

31245

4236

536

645

Приклад введення ім’я файлу:

list

matr.txt

C:\Documents and Settings\Admin\Мои документы\fname

4.Результуюча інформація

Результат програми виводиться на екран та записується у файл «output.txt». Вихідні дані це список вершин які ми пройшли рухаючись від початкової вершини до кінцевої.

Приклад вихідних даних:

1 2 3 4 6

1 2 4 3 5 6

1 2 4 6

1 3 2 4 6

1 3 5 6

5.Таблиця ідентифікаторів прогрими

KV

Кількість вершин, int, 4 байти,

M[N*N-N][2]

Масив ребер, int, 760 байт,

kil

Кількість ребер((1,2) і (2,1) два різні ребра), int, 4 байти,

*fout

Вказівник на файл в який записується результат, FILE *, 4 байти,

pkz

Показник на спосіб задання графа , int, 4 байти,

pkz2

Показник на спосіб задання даних, int, 4 байти,

sh[N]

Масив в якомі записані пройдені вершини для одного шляху, int, 80 байт,

pm[N][N]

Масив початкових даний в якому записаний граф, char, 400 байт,

S

Довжина рядка в символах pm[і], int, 4 байти,

mch[N]

Масив в якому записується усі вершини з якими з’єднана певна вершина яка опрацьовується, int, 80 байт,

*f1

Вказівник на файл з якого будуть зчитані дані, FILE *, 4 байти,

fname[N]

Ім’я файлу з якого будуть зчитані дані, char, 20 байт,

*p

Вказівник на масив у якому записано шлях, int *, 4 байти,

poz

Кількість пройдених вершин, int, 4 байти,

mas[N]

Масив у який копіюється вже пройдений шлях(створення копії), int, 80 байт,

*q

Вказівник на mas[N], int *, 4 байти,