Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Нуб по СИ
5 / 5 / 5
Регистрация: 09.02.2011
Сообщений: 112
1

Прокладка наивыгоднейшего пути между двумя пунктами

11.04.2013, 16:51. Просмотров 883. Ответов 1
Метки нет (Все метки)

Прокладка наивыгоднейшего пути между двумя пунктами. (инфо)

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

Добавлено через 7 минут
из 2х матриц строю 3ю
Delphi
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
procedure TForm1.FormCreate(Sender: TObject);
begin
  se1.Value:=6;
  se2.Value:=5;
  se3.Value:=7;
  se4.Value:=4;
 
  with StringGrid1 do
    begin
      Cells[0,0]:='27';
      Cells[1,0]:='12';
      Cells[2,0]:='36';
      Cells[3,0]:='12';
      Cells[4,0]:='22';
      Cells[5,0]:='29';
 
      Cells[0,1]:='14';
      Cells[1,1]:='22';
      Cells[2,1]:='43';
      Cells[3,1]:='28';
      Cells[4,1]:='19';
      Cells[5,1]:='32';
 
      Cells[0,2]:='20';
      Cells[1,2]:='15';
      Cells[2,2]:='14';
      Cells[3,2]:='18';
      Cells[4,2]:='24';
      Cells[5,2]:='17';
 
      Cells[0,3]:='31';
      Cells[1,3]:='19';
      Cells[2,3]:='39';
      Cells[3,3]:='37';
      Cells[4,3]:='31';
      Cells[5,3]:='28';
 
      Cells[0,4]:='18';
      Cells[1,4]:='28';
      Cells[2,4]:='33';
      Cells[3,4]:='26';
      Cells[4,4]:='40';
      Cells[5,4]:='29';
    end;
 
 
    with StringGrid2 do
    begin
      Cells[0,0]:='16';
      Cells[1,0]:='23';
      Cells[2,0]:='33';
      Cells[3,0]:='21';
      Cells[4,0]:='14';
      Cells[5,0]:='15';
      Cells[6,0]:='26';
 
      Cells[0,1]:='21';
      Cells[1,1]:='19';
      Cells[2,1]:='27';
      Cells[3,1]:='14';
      Cells[4,1]:='23';
      Cells[5,1]:='18';
      Cells[6,1]:='18';
 
      Cells[0,2]:='18';
      Cells[1,2]:='21';
      Cells[2,2]:='29';
      Cells[3,2]:='17';
      Cells[4,2]:='31';
      Cells[5,2]:='23';
      Cells[6,2]:='23';
 
      Cells[0,3]:='22';
      Cells[1,3]:='17';
      Cells[2,3]:='19';
      Cells[3,3]:='30';
      Cells[4,3]:='16';
      Cells[5,3]:='26';
      Cells[6,3]:='14';
    end;
end;
 
procedure TForm1.btn1Click(Sender: TObject);
  var
    i, j: Integer;
    tmp1, tmp2: Integer;  //Временные переменные
    col1, col2, col3, row1, row2, row3: Integer; //кол-во строк/столбцов
begin
  //Очистка
  for i:=0 to StringGrid3.ColCount-1 do
    for j:=0 to StringGrid3.RowCount-1 do
      StringGrid3.Cells[i, j]:='';
      
  //Кол-во строк/столбцов для новой таблицы
  if se1.Value >= se3.Value then
    StringGrid3.ColCount:=se1.Value else StringGrid3.ColCount:=se3.Value;
  if se2.Value >= se4.Value then
    StringGrid3.RowCount:=se2.Value else StringGrid3.RowCount:=se4.Value;
 
  StringGrid3.Cells[StringGrid3.ColCount-1, 0]:='0';
 
  col1:=StringGrid1.ColCount-1;
  row1:=StringGrid1.RowCount-1;
  col2:=StringGrid2.ColCount-1;
  row2:=StringGrid2.RowCount-1;
  col3:=StringGrid3.ColCount-1;
  row3:=StringGrid3.RowCount-1;
 
  //Первая строка и последний столбец
  for i:=0 to col3-1 do
    StringGrid3.Cells[col3-1-i,0]:=IntToStr(StrToInt(StringGrid1.Cells[col1-i,row1])+StrToInt(StringGrid3.Cells[col3-i, 0]));
  for j:=0 to row3-1 do
    StringGrid3.Cells[col3,j+1]:=IntToStr(StrToInt(StringGrid2.Cells[col2,row2-j])+StrToInt(StringGrid3.Cells[col3,j]));
 
  //Остальные
  for i:=0 to col3-1 do
    begin
      for j:=0 to row3-1 do
        begin
          tmp1:=StrToInt(StringGrid3.Cells[col3-i,j])+StrToInt(StringGrid2.Cells[col2-1-i,row2-j]);
          tmp2:=StrToInt(StringGrid3.Cells[col3-i,j+1])+StrToInt(StringGrid1.Cells[col1-i,row1-1-j]);
          if tmp1 > tmp2 then
            StringGrid3.Cells[col3-1-i,j+1]:=IntToStr(tmp1)
          else
            StringGrid3.Cells[col3-1-i,j+1]:=IntToStr(tmp2);
        end;
    end;
 
  //Кратчайщий путь
  //for i:=0 to
end;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2013, 16:51
Ответы с готовыми решениями:

Найти кратчайшее расстояние между двумя вершинами в графе. Найти все возможные пути между этими двумя вершинам
Найти кратчайшее расстояние между двумя вершинами в графе. Найти все возможные пути между этими...

Все возможные пути между двумя узлами в графе. Решено частично.
Есть такой граф, где алгоритм (http://worldofpascal.narod.ru/BASE/PROGRAMS/MIDDLE/all_road.HTM) для...

Расстояние между пунктами
Помогите мне пожалуйста решить задачу: Дана карта местности с обозначенными на ней N пунктами....

Движение между пунктами автостопом
Автостоп. Из пункта А в пункт В между которыми Х км, выехал велосипедист со скоростью v0 км/ч....

Как по двум значениям GPS найти расстояние между пунктами?
для соревнований по голубиной почте (есть такие): есть координаты GPS для двух пунктов Земли,...

1
Нуб по СИ
5 / 5 / 5
Регистрация: 09.02.2011
Сообщений: 112
15.04.2013, 05:07  [ТС] 2
сам разобрался, сам сделал!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2013, 05:07

Увидеть расстояние между двумя пунктами
Дана карта местности с обозначенными на ней N пунктами. Написать программу, которая позволяет...

Определить длину кратчайшего пути между пунктами
Проблема такова, решаю задачи прошлого года и тут: Помогите решить, ответ сам нашел (2), но я не...

Задача на решение расстоянии между двумя пунктами
Известны координаты двух населенных пунктов. Напишите программу вычисления расстояния между этими...


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

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

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