Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.12.2010, 12:50
PianeR PianeR вне форума
Прохожий
 
Регистрация: 02.12.2010
Сообщения: 1
Репутация: 10
Вопрос граф, Delphi

Граф задан матрицей смежности, исп-ся жадный алгоритм. Нужно как-то реализовать как минимум 3 варианта перебора вершин графа.
У меня были варианты: 1) как-нибудь рандомно брать эл-т матрицы и назначать его как стартовый, 2) чтобы пользователь сам вводил стартовый эл-т. Но я не знаю как хотя бы 1 из них реализовать... Помогите пожалуйста.

вот код раскраски графа:

Код:
const
col:array[0..4] of Tcolor=
(

clwhite,
cllime,
clgreen,
clyellow,
clblue
);

var
  Form1: TForm1;
  vsego:Integer;//количество вершин графа
  mas:array[0..4,0..4]of bytebool;
  masx,masy:array[0..4]of integer;//координаты точки
  cmas:array of integer;//цвет вершин
  n: Byte; //Число шагов

implementation

{$R *.dfm}

procedure Redrawgraph;// раскрашиваем граф
var i,k:Byte;

begin
Form1.PaintBox1.Canvas.Brush.Color:=0; //кисть
Form1.PaintBox1.Canvas.Pen.Color:=0; //перо
Form1.PaintBox1.Canvas.FillRect(rect(0,0,500,500)); //область, где будет располагаться граф
Form1.PaintBox1.Canvas.Pen.Color:=clWhite;
Form1.PaintBox1.Canvas.Brush.Color:=clNavy;

for i:=0 to 4 do
for k:=0 to 4 do
if(mas[i,k]) then
 begin
 Form1.PaintBox1.Canvas.MoveTo(masx[i],masy[i]); //Проводит линию текущим пером из текущей точки (masx[i],masy[i])
 Form1.PaintBox1.Canvas.LineTo(masx[k],masy[k]); //Перемещает текущее положение пера в точку (masx[k], masy[k])
 end;
 for i:=0 to 4 do
  begin
     Form1.PaintBox1.Canvas.Brush.color:=col[cmas[i+1]]; //раскрашиваем вершины
     Form1.PaintBox1.Canvas.Ellipse(rect(masx[i]-20,masy[i]-20,masx[i]+20,masy[i]+20));// строим вершины графа
   end;
  end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:21.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025