Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
sizova
Сообщений: n/a
#1

Дана матрица весов графа, нужно посчитать ранний и поздний срок наступления события и критический путь - C++

27.03.2014, 20:51. Просмотров 436. Ответов 0
Метки нет (Все метки)

Добрый вечер! Вот в чем вопрос: дана матрица весов графа, нужно посчитать ранний и поздний срок наступления события и критический путь. Подскажите как программно реализовать поздний срок? Ранний срок я нахожу так
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
80
81
82
83
84
85
#include <iostream.h>
#include <conio.h>
#include <windows.h>
#include<iomanip.h>
#include <vcl.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
 
char NEWT[256];
char*RUS(char*TEXT) {
CharToOem(TEXT,NEWT);
return NEWT;}
 
int v;
 
//---------------------------------
int main(int argc, char* argv[])
{  int i,j;
   int infinity=1000;                     // Бесконечность
   int VES[7][7]={0, 3, 5, 4, 0, 0, 0,                         // Матрица весов графа
                        0, 0, 0, 0, 10, 0, 0,
                        0, 0, 0, 0, 8, 15, 0,
                        0, 0, 0, 0, 0, 13, 0,
                        0, 0, 0, 0, 0, 0, 3,
                        0, 0, 0, 0, 0, 0, 4,
                        0, 0, 0, 0, 0, 0, 0};
   int x[10];                            //Массив, содержащий единицы и нули для каждой вершины,
                                          // x[i]=0 - еще не найден кратчайший путь в i-ю вершину,
                                          // x[i]=1 - кратчайший путь в i-ю вершину уже найден
   
   int DlinaPuti[100];                    //t[i] - длина кратчайшего пути от вершины s в i
 
   int PredVertex[7];                   //h[i] - вершина, предшествующая i-й вершине
                                          //на кратчайшем пути
   int VERTEX=7;
   int p;
   p= VERTEX;
for(i=0;i<VERTEX;i++)
{
for(j=0;j<VERTEX;j++)
 
cout<<VES[i][j]<<" ";
cout<<endl;
 }
//ранний срок наступления события
int tp[10], tp1[10];
int t[10][10];
tp[0]=0;
for(i=0;i<=7;i++)
   { tp[i]=0;
     tp1[i]=0; }
for(i=0;i<=0;i++)
for(j=1;j<=VERTEX;j++)
   {
    if(VES[i][j]==0)
      {
       int k=j;
       int l=i;
       while (VES[l][k]==0)
          { l++; }
       int max = tp[j];
       while(l<=VERTEX)
            {
            while(VES[l][k]==0)
                 { l++; }
            l=l;
            if (l==7)
               break;
            tp1[j]=tp[l]+VES[l][k];
            if(tp1[j]>max)
                 max=tp1[j];
            l++;
            tp[j]=max;
            }
      }
      else
          tp[j]=VES[0][j];
     // tp[j]=tp1[1]+VES[i][j];
 
   }
   for(i=0;i<=7;i++)
cout<<tp[i]<<endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2014, 20:51     Дана матрица весов графа, нужно посчитать ранний и поздний срок наступления события и критический путь
Посмотрите здесь:

C++ Матрица/связные_списки смежности для ориентированного графа
C++ Граф задан мартрицей весов.Нужно определить ребра с максимальным весом и удалить их
C++ МАТРИЦА РАССТОЯНИЙ ГРАФА
C++ дана матрица прямоугольная нужно ее транспонировать
Критический путь C++
Обход неориентированного графа в ширину. В конце выдаёт путь: 1 C++
Дана квадратная матрица. Посчитать сумму элементов с четными номерами C++
C++ Матрица смежности графа - поиск в глубину
Кратчайший путь между вершинами взвешенного графа, в котором есть ребра с отрицательным весом C++
Матрица расстояний для невзвешенного графа C++
C++ Посчитать длины кратчайших путей ориентированного графа
Посчитать суммарный путь пробега за 7 дней тренировок C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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