1 / 1 / 0
Регистрация: 29.12.2014
Сообщений: 34
1

Система двухсторонних дорог

27.01.2016, 13:22. Показов 1842. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста сделать в дельфи на форме! Вот задание:
Задана система двусторонних дорог, где для любой пары городов есть соединяющий их путь. Найти город с минимальной суммой расстояний до остальных городов.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2016, 13:22
Ответы с готовыми решениями:

В системе двухсторонних дорог за проезд каждой дороги взимается некоторая пошлина.
В системе двухсторонних дорог за проезд каждой дороги взимается некоторая пошлина. Найти путь из...

Система двусторонних дорог
Привет всем. Облазил форум на тему систему двусторонних дорог, но не нашел такого варианта: Задан...

Задана система односторонних дорог
Найти путь, соединяющий города A и B и не проходящий через заданное множество городов. ...

Задана система двусторонних дорог
Задана система двусторонних дорог. N-периферией называется множество городов, расстояние от...

4
5363 / 4196 / 1365
Регистрация: 14.04.2014
Сообщений: 19,047
Записей в блоге: 18
27.01.2016, 21:15 2
помогать можно только отвечая на конкретный вопрос
здесь нужно просто написать за вас всю программу
а потом получить пост "а теперь объясните мне, что вы тут написали"
0
500 / 356 / 231
Регистрация: 29.03.2015
Сообщений: 675
28.01.2016, 06:41 3
Лучший ответ Сообщение было отмечено Dina30 как решение

Решение

Код:
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
unit MainU;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, Math;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    StringGrid1: TStringGrid;
    Label2: TLabel;
    Button2: TButton;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
qn:integer;
implementation
 
{$R *.dfm}
 
function qsum(n:integer):integer;
var
i,s:integer;
begin
s:=0;
for i:=1 to n do
s:=s+i;
result:=s;
end;
 
procedure qsetgrid(n:integer);
var
i,j,r:integer;
begin
with form1.StringGrid1 do
begin
rowcount:=qsum(n-1)+1;
colwidths[0]:=50;
colwidths[1]:=50;
colwidths[2]:=100;
cells[0,0]:='Город 1';
cells[1,0]:='Город 2';
cells[2,0]:='Расстояние';
r:=1;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
cells[0,r]:=inttostr(i);
cells[1,r]:=inttostr(j);
r:=r+1;
end;
end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
try
qn:=strtoint(edit1.Text);
except
begin
showmessage('Число городов должно быть целым числом!');
exit;
end;
end;
if qn<2 then
begin
showmessage('Число городов должно быть больше 1!');
exit;
end;
qsetgrid(qn);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
qsetgrid(3);
qn:=3;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var
i,j,l,n,r:integer;
e,m,s:extended;
d:array of array of extended;
begin
setlength(d,qn);
for i:=0 to qn-1 do
setlength(d[i],qn);
r:=1;
for i:=1 to qn-1 do
for j:=i+1 to qn do
begin
try
e:=strtofloat(stringgrid1.Cells[2,r]);
except
begin
showmessage('Расстояние должно быть числом!');
exit;
end;
end;
d[i-1,j-1]:=e;
d[j-1,i-1]:=e;
r:=r+1;
end;
m:=infinity;
n:=0;
for i:=0 to qn-1 do
begin
s:=0;
for j:=0 to qn-1 do
if i<>j then
s:=s+d[i,j];
if s<m then
begin
m:=s;
n:=i;
end;
end;
label4.Caption:=inttostr(n+1);
label6.Caption:=floattostr(m);
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;
 
end.
Прилагаю проект на Delphi.
Вложения
Тип файла: zip Towns.zip (239.6 Кб, 20 просмотров)
1
840 / 735 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
28.01.2016, 17:43 4
Цитата Сообщение от krapotkin Посмотреть сообщение
а потом получить пост "а теперь объясните мне, что вы тут написали"
Ну так тода ты прав
А можно и получить такой ответ- да нет вы мне нету программу написали, мне нужно по другому было )
0
5363 / 4196 / 1365
Регистрация: 14.04.2014
Сообщений: 19,047
Записей в блоге: 18
28.01.2016, 20:22 5
вот да
мое видение уже сильно отличается от поста №3 )
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2016, 20:22
Помогаю со студенческими работами здесь

перевод с pascal, система односторонних дорог
Задана система односторонних дорог. Найти путь, соединяющий города A и B и не проходящий через...

Не могу понять задачу (система односторонних дорог)
Тема такая, препод задал задачку на языке &quot;C&quot;, решить ее, как вы поняли, я не могу:) Задача...

Система двусторонних дорог. N-периферия для заданного N
Задана система двусторонних дорог. N-периферией называется множество городов, расстояние от...

Граф. Система односторонних дорог. Найти путь от A до B не проходящий через определенные вершины.
Задача: &quot;Задана система односторонних дорог. Найти путь, соединяющий города A и B и не проходящий...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru