|
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 77
|
|
Считывать матрицу смежности и количество вершин из входного файла и выводить гамильтоновы циклы24.11.2010, 19:21. Показов 2430. Ответов 0
Метки нет (Все метки)
Доброго времени суток!
Программа должна считывать матрицу смежности и количество вершин из входного файла и выводить гамильтоновы циклы в выходной. Программа запускается, но в выходной файл ничего не выводится. Я не могу понять в чем дело. Помогите, пожалуйста! #include<iostream.h> #include <stdio.h> typedef enum {false, true} bool; FILE* fi=fopen("g_graph.txt","r"); FILE* fo=fopen("g_cycle.txt","w"); bool**graph;//Матрица смежности для хранения графа int n;//Количество вершин в графе const int vertex=1;//первая вершина при поиске int *St;//Массив для хранения просмотренных вершин int *Nnew;//Массив признаков: вершина просмотрена или нет void out_way(int n)//Процедуры вывода Гамильтонова цикла { for(int i=0;i<n;i++) fprintf(fo,"%d", St[i]); fprintf(fo,"%dn",vertex); } void gamilton_path(int k) { int v=St[k-1];// текущая вершина for(int j=0;j<n;j++) if(graph[v][j]==1)//есть ребро между v и j if(k==n && j==vertex) out_way(n);//прошли все вершины else if(Nnew[j])//вершина не просмотрена { St[k]=j;//добавляем ее к пройденому пути Nnew[j]=false;//просмотрена gamilton_path(k+1);//строим путь дальше Nnew[j]=true;//возвращаемся назад и строим другие циклы } } int main() { fscanf(fi,"%d",&n);//считываем количество вершин St=new int[n]; Nnew= new int[n]; for(int i=0;i<n;i++) Nnew[i]=1;//нет просмотренных вершин graph=new bool*[n]; for(int i=0;i<n;i++) graph[i]=new bool[n];//выделяем память под строку for(int j=0;j<n;j++) { fscanf(fi,"%d",&graph[i][j]); } Nnew[vertex]=false;//первая вершина уже просмотрена St[0]=vertex;//вершина с которой начали проход gamilton_path(1);//параметр означает количество пройденых вершин fcloseall(); return(0); }
0
|
|
| 24.11.2010, 19:21 | |
|
Ответы с готовыми решениями:
0
С матрицы смежности в матрицу инцидентности, список рёбер и вершин, диаграмма Получить матрицу смежности и напечатать для каждой вершины номера смежных вершин графа Написать программу, которая выводит матрицу смежности графа с определенным количеством вершин и ребер |
| 24.11.2010, 19:21 | |
|
Помогаю со студенческими работами здесь
1
Гамильтоновы циклы: переписать код с C++ Считывать имена файлов и выводить на экран только имя файла (вместо полного пути) Как считывать матрицу из файла? В заданном неориентированном графе найти все Гамильтоновы пути, соединяющие указанную пару вершин Из списка смежности в матрицу смежности. Выполнить обход графа глубину Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|