Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
6 / 6 / 6
Регистрация: 15.10.2014
Сообщений: 98

Программа не запускается

11.04.2016, 12:34. Показов 688. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Есть данный код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <iostream>
#include <windows.h>
using namespace std;
 
struct item { //структура для описания элемента карты
 int s,c; //начальный и конечный узлы
 int v; //"вес" пути
};
 
const int m = 9; //количество путей по графу
struct item map[m] = { //все пути, нумерация узлов с нуля
 {0,1,1}, {0,2,1}, {2,3,1}, {1,4,1}, {2,4,1},
 {4,5,1}, {4,7,1}, {5,6,1}, {6,7,1}
};
const int n = 8; //количество вершин графа
int road[n]; //номера узлов текущей "дороги"
bool incl[n]; //true, если i-ая вершина включена в путь
int way[n]; //искомый самый короткий путь
int waylen; //его длина
int start, finish; //начальная и конечная вершины
bool found;
int len; //найденный "вес" маршрута
int c_len; //текущий "вес" маршрута
 
int find (int s, int c) { //вес пути из s и c или 0, если пути нет
 for (int i=0; i<m; i++)
  if (map[i].s==s && map[i].c==c ||
      map[i].s==c && map[i].c==s) return map[i].v;
 return 0;
}
 
void step (int s, int f, int p) { //рекурсивный поиск шага пути
 int c; //номер вершины, куда делаем шаг
 if (s==f) { //путь найден
  found = true; //поставить флажок "найдено"
  len = c_len; //запомнить общий вес пути
  waylen = p; //запомнить длину пути (количество узлов)
  for (int i=0; i<waylen; i++) way[i] = road[i]; //запомнить сам путь
 }
 else { //выбор очередной точки
  for (c=0; c<n; c++) { //проверяем все вершины
   int w = find(s,c); //есть ли путь из s в c
   if (w && !incl[c] && (len==0 || c_len+w<len)) { //нужная точка не включена?
    road[p] = c; //включить точку в путь
    incl[c] = true; //пометить как включенную
    c_len += w; //учесть в общем весе пути
    step (c,f,p+1); //вызвать себя для поиска следующей точки
    road[p] = 0; //вернуть всё как было
    incl[c] = false;
    c_len -= w;
   }
  }
 }
}
 
int main () {
 //Инициализация данных:
 for (int i=0; i<n; i++) {
  road[i]=way[i]=0; incl[i] = false;
 }
 len = c_len = waylen = 0;
 
 start = 0; //начало пути - нумерация с 0
 finish = 7; //конец пути - нумерация с 0
 road[0] = start; //первую точку внесли в маршрут
 incl[start] = true; //и пометили как включённую
 found = false; //но путь пока не найден
 step (start,finish,1); //ищем вторую точку
 
 if (found) {
  cout << "Way is";
  for (int i=0; i<waylen; i++) cout << " " << way[i];
  cout << ", weight is " << len;
 }
 else cout << "Way not found!";
 cout << endl;
 system ("pause");
 return 0;
}
Должен искать краткий путь между точками (точки вводятся в map)
Не запускается. Все перепробовал. Показывает различные ошибки в различных IDE.
Кто может проверить работоспособность кода и исправить ошибки, если они есть?
Желательно так, чтобы запускалось в онлайн отладчиках (если это возможно), например в Codepad.
Буду благодарен, спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.04.2016, 12:34
Ответы с готовыми решениями:

Программа в vs не запускается; в dev запускается, но зависает
помогите исправить ошибку, в vs не запускается, в dev запускается, на повисает #include &lt;iostream&gt; #include &lt;fstream&gt; ...

Первая программа. Код не компилируется и не запускается программа.
Первая программа, первая ошибка Здравствуйте! Решил учить С++. Скачал книгу Programming: Principles and Practice Using C++, Бьерн...

Не запускается программа
program LR2 parameter (n=5) real A(n,n),S,G(n,n),B(n,n),C(n,n), D(n), min open (1,file = 'a.txt') open...

1
Одессит
 Аватар для kylroma
243 / 88 / 44
Регистрация: 30.12.2013
Сообщений: 316
Записей в блоге: 2
11.04.2016, 19:44
Запустил в Code Blocks без ошибок. Вот это вывело:
Way is 0 1 4 7, weight is 3
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2016, 19:44
Помогаю со студенческими работами здесь

Не запускается программа
Эта программа для подсчёта количества слов начинающихся с определённой буквы. У меня проблема с запуском пишет кучу ошибок про 'std'....

Не запускается программа
Взял готовый исходный код простейшего блокчейна. Проблема в том, что программа не запускается, ссылаясь на синтаксическую ошибку в...

Не запускается программа
Есть старая программа: Химия (8-11 класс) - Виртуальная лаборатория. Она не запускается, выдавая ошибку: Запуск программы невозможен, т.к....

Программа не запускается
Запустите пожалуйсто программу. просто у меня не компилятора для паскаля. если вам не сложно, добавьте скрины с результатом ее решения....

Не запускается программа
uses crt, Graph, dos; const fon_name = 'fon123.bmp'; spr_name = 'spr2.bmp'; type TScreen = array of byte; PScreen =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru