Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 336
#1

Вылет после компиляции - C++

28.05.2014, 02:10. Просмотров 397. Ответов 10
Метки нет (Все метки)

Реализация алгоритма Дейкстры.
После запуска компиляции - вылет из CodeBlocks
Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
    const int V=6;
 
    void Dijkstra(int GR[V][V], int st)
{
    int distance[V], count, index, i, u, m=st+1;
    bool visited[V];
 
    for (i=0; i<V; i++)
    {
        distance[i]=INT_MAX;
        visited[i]=false;
    }
 
    distance[st]=0;
 
    for (count=0; count<V-1; count++)
 
        {
            int min=INT_MAX;
            for (i=0; i<V; i++)
                if (!visited[i] && distance[i]<=min)
                    {
                        min=distance[i]; index=i;
                    }
 
 
    u=index;
    visited[u]=true;
 
    for (i=0; i<V; i++)
 
        if (!visited[i] && GR[u][i] && distance[u]!=INT_MAX &&
            distance[u]+GR[u][i]<distance[i])
            distance[i]=distance[u]+GR[u][i];
        }
 
        cout<<"Стоимость пути из начальной вершины до остальных:\t\n";
 
        for (i=0; i<V; i++) if (distance[i]!=INT_MAX)
            cout<<m<<" > "<<i+1<<" = "<<distance[i]<<endl;
 
        else cout<<m<<" > "<<i+1<<" = "<<"маршрут недоступен"<<endl;
}
 
int main()
 
{
    setlocale(LC_ALL, "Rus");
 
    int start, GR[V][V]={
        {0, 1, 4, 0, 2, 0},
        {0, 0, 0, 9, 0, 0},
        {4, 0, 0, 7, 0, 0},
        {0, 9, 7, 0, 0, 2},
        {0, 0, 0, 0, 0, 8},
        {0, 0, 0, 0, 0, 0}};
 
        cout<<"Начальная вершина >> ";
        cin>>start;
 
        Dijkstra(GR, start-1);
        system("pause>>void");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2014, 02:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вылет после компиляции (C++):

Вылет программы после завершения - C++
Добрый день. Сегодня решил начать изучение языка программирования. Нашел учебник для чайников, там построение задач ведется с...

Вылет после ввода первого числа - C++
Почему программа вылетает после того, как ввожу 1 элемент массива? #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; ...

Ошибки после компиляции - C++
Дана задача(дословно): дан массив целых положительных чисел, переписать простые числа во второй массив; упорядочить массивы 1-й по...

Ошибка после компиляции - C++
После запуска программы, первый пункт не работает и выдает ошибку #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include...

Мусор после компиляции - C++
Здравствуйте! Необходимо вывести массив со словами на экран. Проблема состоит в том, что после компиляции в консоли присутствует...

После компиляции не открывается - C++
Дана строка, содержащая произвольный текст. Сколько слов в тексте? Сколько цифр в тексте? Есть решение: #include &lt;string.h&gt; #include...

10
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
28.05.2014, 02:12 #2
Цитата Сообщение от Aecttann Посмотреть сообщение
После запуска компиляции - вылет из CodeBlocks
че, прям сама IDE падает?
0
Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 336
28.05.2014, 02:15  [ТС] #3
Цитата Сообщение от Croessmah Посмотреть сообщение
че, прям сама IDE падает?
именно

Добавлено через 2 минуты
Если удалить stdafx.h - тогда пишет, нет такого файла, и никаких вылетов, но он-то мне нужен...
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
28.05.2014, 02:16 #4
Цитата Сообщение от Aecttann Посмотреть сообщение
именно
попробовал, у меня не упала(но эт на линухе)
Кликните здесь для просмотра всего текста
Вылет после компиляции
1
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
28.05.2014, 02:17 #5
Цитата Сообщение от Aecttann Посмотреть сообщение
но он-то мне нужен...
зачем?
0
Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 336
28.05.2014, 02:23  [ТС] #6
Цитата Сообщение от Croessmah Посмотреть сообщение
зачем?
не представляю Оо
удалил - работает
код не мой, но для чего его сюда впихнули, если он юзлесс?
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
28.05.2014, 02:33 #7
Цитата Сообщение от Aecttann Посмотреть сообщение
код не мой, но для чего его сюда впихнули, если он юзлесс?
потому что код писали в студии или еще где-то, используя предкомпилированные заголовки
1
Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 336
28.05.2014, 12:38  [ТС] #8
Цитата Сообщение от Croessmah Посмотреть сообщение
используя предкомпилированные заголовки
вроде отключены у меня в CB, ну да ладно, спасибо

Добавлено через 10 часов 1 минуту
Croessmah, Вы просто запустили и у вас заработал алгоритм?
Просто у меня в любом случае выводится, что маршрут недоступен
0
castaway
Эксперт С++
4887 / 3022 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
28.05.2014, 12:49 #9
distance[i] всегда равно min, из-за этого в index неопределенное значение.
1
Aecttann
6 / 6 / 0
Регистрация: 19.10.2013
Сообщений: 336
28.05.2014, 14:34  [ТС] #10
Объясните, пожалуйста, что происходит в этих строках

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
for (count=0; count<V-1; count++)
 
        {
            int min=max;
            for (i=0; i<V; i++)
                if (!visited[i] && distance[i]<=min)
                    {
                        min=distance[i];
                        index=i;
                    }
 
    u=index;
    visited[u]=true;
 
    for (i=0; i<V; i++)
 
        if (!visited[i] && GR[u][i] && distance[u]!=max && distance[u]+GR[u][i]<distance[i])
 
            distance[i]=distance[u]+GR[u][i];
        }
0
castaway
Эксперт С++
4887 / 3022 / 370
Регистрация: 10.11.2010
Сообщений: 11,080
Записей в блоге: 10
Завершенные тесты: 1
28.05.2014, 16:12 #11
До 11-й строки идёт поиск минимального элемента и его индекса. Что происходит после я не знаю, т.к. с этим алгоритмом не знаком.
0
28.05.2014, 16:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2014, 16:12
Привет! Вот еще темы с ответами:

Вирус после компиляции - C++
Добрый день. Начал изучение с++ с нуля. И вот первая загвоздка. Посмотрел на википедии http://ru.wikipedia.org/wiki/Dev-C++ описание...

Не работает после компиляции - C++
Проблема такова: В VS , когда дебажу, мой код нормально работает. Стоит его откомпилировать....И &quot;Виндовс ищет способ устранения этой...

После компиляции выдает ошибку - C++
После компиляции выдает такое сообщение: ------ Build started: Project: dz2, Configuration: Debug Win32 ------ Compiling... ...

Ошибка после компиляции и ввода - C++
Компилирую программу,ввожу переменные и выбивает &quot;Unhandled exception at 0x00000001 in Lab 5 1.exe: 0xC0000005: Access violation reading...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru