Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
0 / 0 / 2
Регистрация: 07.01.2017
Сообщений: 47

Алгоритм Дейкстры

12.12.2017, 19:11. Показов 5080. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан ориентированный взвешенный граф. Найдите кратчайшее расстояние от одной заданной вершины до другой.

Входные данные
В первой строке содержатся три числа: N, S и F (1≤ N≤ 100, 1≤ S, F≤ N), где N – количество вершин графа, S – начальная вершина, а F – конечная. В следующих N строках вводится по N чисел, не превосходящих 100, – матрица смежности графа, где -1 означает отсутствие ребра между вершинами, а любое неотрицательное число – присутствие ребра данного веса. На главной диагонали матрицы записаны нули.

Выходные данные
Требуется вывести искомое расстояние или -1, если пути между указанными вершинами не существует.

Примеры
входные данные
3 2 1
0 1 1
4 0 1
2 1 0
выходные данные
3

Помогите, пожалуйста, с программой.



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
#include <iostream>
 
using namespace std;
 
int main()
{
    int a, k=0;
    cin >> a;
    int A[a][a];
    for(int i=0;i<a;i++)
    for(int j=0;j<a;j++)
    {
        cin >> A[i][j];
    }
    for(int i=0;i<a;i++)
    for(int j=0;j<a;j++)
    {
        if(A[i][j]!=0)
        k=k+A[i][j];
    }
    for(int i=0;i<a;i++)
    for(int j=0;j<a;j++)
    {
        if(A[i][j]==A[j][i])
        {
        k=k-A[i][j];
        A[i][j]=0;
        }
    }
    cout << k << endl;
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2017, 19:11
Ответы с готовыми решениями:

Алгоритм Дейкстры
Добрый день! Можете пожалуйста помочь с задачкой. Очень прошу так как сам не разобрался как работать с графами!! Прошууууууу! Задача о...

Алгоритм Дейкстры
Всем добрый день,уважаемые программисты! Помогите пожалуйста решить вот эту задачу алгоритмом дейкстры. Вроде сам алгоритм правильно...

Алгоритм Дейкстры
Добрый день, помогите пож-та решить задачи на с++. Нашел решение (расписаны все алгоритмы, процедуры подсчета и т. д.), но сложность...

2
0 / 0 / 2
Регистрация: 07.01.2017
Сообщений: 47
28.12.2017, 16:43  [ТС]
Помогите, что надо исправить в программе

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
#include <iostream>
using namespace std;
int main()
{
int N=12 , minDist;
cin>>N;
int W[N][N];
bool active[N];
int R[N], P[N];
int i, j, min, kMin;
for (int i = 0; i < N; i++)
         for (int j = 0; j < N; j++)
             cin>>W[N][N];
for ( i = 0; i < N; i ++ ) {
  active[i] = true; // ��� ������� �� �������
  R[i] = W[0][i];   // ���� �� ������� 0
  P[i] = 0;
  }
active[0] = false; // ������� ��� �������
P[0] = -1;
for ( i = 0; i < N-1; i++ ) {
  minDist = 99999;
  for ( j = 0; j < N; j ++ )
    if ( active[j] && R[j] < minDist) {
      minDist = R[j];
      kMin = j;
      }
  active[kMin] = false;
  for ( j = 0; j < N; j ++ )
    if ( R[kMin]+W[kMin][j] < R[j] ) {
      R[j] = R[kMin] + W[kMin][j];
      P[j] = kMin;
      }
  }
i = N-1;
while ( i> 0 )
  {
  cout << i+1 << " ";
  i = P[i];  // � ��������� �������
  }
    return 0;
}
0
28.12.2017, 18:35
 Комментарий модератора 
OlgaOlgaa, прекратите дублировать темы.
Темам давайте осмысленные названия.
Для оформления кода используйте теги CPP
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.12.2017, 18:35
Помогаю со студенческими работами здесь

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

Алгоритм Дейкстры
Как на С++ в консольном приложении описать алгоритм Дейкстры?

Алгоритм Дейкстры
Помогите найти ошибку плз. Первый шаг алгоритма выполняет правильно,а дальше-нет. #include&lt;iostream&gt; #include&lt;fstream&gt; ...

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru