Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
1 / 1 / 1
Регистрация: 25.11.2009
Сообщений: 19
1

Алгоритм Прима

03.12.2011, 14:18. Показов 5531. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.

Мне нужно перевести программу написанную в Pascal, в Delphi.
Вот программа в Pascal:

Pascal
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
Program prim;
uses Crt;var a:array[1..100,1..100] of integer;
 t,min,x,y,u,i,j,k,l,m,n,cost:longint; 
b,c:array[1..100] of integer;
begin clrscr; 
writeln;
 write('Vvedite Razmer Massiva: '); 
readln(n); 
for i:=1 to n do  
for j:=1 to n do 
a[i,j]:=32000; 
writeln('Vvedite Kolichestvo Vvodimih Elementov: '); 
readln(m);
 for i:=1 to m do begin   
Writeln('Vvedite Aderess(x,y) i Harakteristiku #',i,':');   
readln(k,l,cost);
 a[k,l]:=cost;   
a[l,k]:=cost;  
end;
 k:=0; 
u:=1;
 c[1]:=1;
 b[u]:=1;
 while u<n do  begin   
min:=32000;  
 for i:=1 to u do   
if b[i]>0 then   begin    
t:=b[i];    
for j:=1 to n do      
if (a[t,j]<min) and (c[j]=0) then begin 
min:=a[t,j]; 
y:=t; 
x:=j;
 end;   
end;  
 inc(u); 
  b[u]:=x;  
 c[x]:=1;   
k:=k+a[y,x];   
a[y,x]:=32000;   
a[x,y]:=32000;  
end;
 Writeln('Rezultat: ',k);
 readkey;
 end.
Вот что я сделал в Delphi(В StringGrid вводится матрица, в Edit- размерность матрицы):

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
procedure TForm1.btn1Click(Sender: TObject);
Var
  a:array[1..100,1..100] of integer;
   t,min,x,y,u,i,j,k,l,m,n,cost:longint;
  b,c:array[1..100] of integer;
begin
  n:= StrToInt(Edt1.Text);
  strngrd1.RowCount:= n;
  strngrd1.ColCount:= n;
  for i:=1 to n do
  for j:=1 to n do
  a[i,j]:=32000;
 for i:=1 to strngrd1.RowCount do
  for j:= 1 to strngrd1.ColCount do
    a[i,j]:= StrToInt(strngrd1.Cells[i,j]);
 k:=0;
u:=1;
 c[1]:=1;
 b[u]:=1;
 while u<n do  begin
min:=32000;
 for i:=1 to u do
if b[i]>0 then   begin
t:=b[i];
for j:=1 to n do
if (a[t,j]<min) and (c[j]=0) then begin
min:=a[t,j];
y:=t;
x:=j;
 end;
end;
 inc(u);
  b[u]:=x;
 c[x]:=1;
k:=k+a[y,x];
a[y,x]:=32000;
a[x,y]:=32000;
end;
 lbl1.Caption:= IntToStr(k);
end;
Так как Delphi знаю тока по наслышке, то получилась вообще ерунда.
Помогите правильно код перевести.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2011, 14:18
Ответы с готовыми решениями:

Алгоритм Прима, Крускала
Нашел код реализации алгоритмов, пробовал сделать форму но выдает кучу ошибок. program Project1; ...

Алгоритм Прима-Крускала - нужен пример
Народ , подскажите пожалуйста , где можно найти принцип алгоритма прима - краскла . Вообще все...

Алгоритм Прима для генерации лабиринта
Алгоритм: 3 атрибута локации: значения Inside (внутри) Outside (снаружи) Border (на границе). ...

Метод прима
Доброго времени суток всем. кто может помочь с программой по методу прима? походил по форуму. не...

2
121 / 109 / 29
Регистрация: 18.12.2010
Сообщений: 378
03.12.2011, 21:26 2
Правда я не понял, для чего программа )) попытка не пытка
Вложения
Тип файла: rar Pascal-Delphi1.rar (167.4 Кб, 424 просмотров)
1
1 / 1 / 1
Регистрация: 25.11.2009
Сообщений: 19
03.12.2011, 22:01  [ТС] 3
Ну в принципе правильно все, тут уж я дальше сам переделаю)
Спасибо огромное за помощь!
0
03.12.2011, 22:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2011, 22:01
Помогаю со студенческими работами здесь

Создание лабиринта методом Прима
начну с самого странного - у меня всё работает) вот только работает криво, то есть выбивает ошибку ...

Построение ммимального остового дерева графа методом Прима
Есть готовый код delphie для программы, которая находит и строит минимальное остовное дерево графа...

Алгоритм Прима
Здравствуйте, у меня программа на С# в Windows Forms на тему &quot;Алгоритм Прима&quot;. Я все реализовала, и...

Алгоритм Прима
Доброго времени суток. Имеется алгоритм Прима, собственно код elem(X, ).(X, ) :- elem(X,HS)....


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru