Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2016, 14:08   #1
Xopyc1996
Новичок
Джуниор
 
Регистрация: 05.05.2016
Сообщений: 1
По умолчанию Алгоритм Дейкстры

Доброго времени суток!
У меня задача по курсовой, поиск максимального пути в графе. Пользовался Алгоритмом дейкстры, поменяв условие выбора ребра, работает через раз.
Может кто подскажет, как поправить код, чтобы работало нормально.
Не судите строго за прикрепленный (напечатаный сюда код),
по другому увы не умею
PHP код:
#include <stdio.h>
#include <stdlib.h>
#define SIZE 6
int main() {
  
int a[SIZE][SIZE]; // матрица связей
  
int d[SIZE]; // максимальное растояние
  
int v[SIZE]; // посещенные вершины
  
int temp;
  
int maxindexmaxij;
  for(
i=0;i<SIZE;i++) {
    
a[i][i] = 0;
    for(
j=i+1;j<SIZE;j++) {
      
printf("Введите расстояние %d - %d: "i+1j+1);
      
scanf("%d",&temp);
      
a[i][j] = temp;
      
a[j][i] = temp;
    }
  }
  
// Вывод матрицы связей
  
for(i=0;i<SIZE;i++) {
    for(
j=0;j<SIZE;j++)
      
printf("%5d ",a[i][j]);
    
printf("\n");
  }
  
//Инициализация
  
for(i=0;i<SIZE;i++) {
    
d[i] = -10000;
    
v[i] = 1;
  }
  
d[0] = 0;
  
// Шаг алгоритма
  
do {
    
maxindex = -10000;
    
max = -10000;
    for(
i=0i<SIZE;i++) {
      if((
v[i] == 1) && (d[i]>max)) {
        
max d[i];
        
maxindex i;
      }
    }
    if(
maxindex != -10000) {
      for(
i=0;i<SIZE;i++) {
        if(
a[maxindex][i] > 0) {
          
temp max+a[maxindex][i];
          if(
temp d[i])
            
d[i] = temp;
        }
      }
      
v[maxindex] = 0;
    }
  }
  while(
maxindex > -10000);
  
// Вывод матрицы связей
  
for(i=0;i<SIZE;i++){
    
printf("%5d \n",d[i]);
  }
  return 
0;

писал на С
Xopyc1996 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм Дейкстры Малайка Общие вопросы Delphi 0 05.03.2016 20:45
Алгоритм Дейкстры Малайка Общие вопросы Delphi 3 13.02.2016 20:18
Алгоритм Дейкстры (С++) DemonScorpion Помощь студентам 4 18.11.2015 18:41
Алгоритм Дейкстры Kharass Помощь студентам 3 03.03.2013 16:38
Алгоритм Дейкстры Opiym Общие вопросы .NET 1 29.05.2010 17:04