Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2010, 12:00   #1
PianeR
Пользователь
 
Регистрация: 19.11.2009
Сообщений: 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;
PianeR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Площадь фигуры по координатам вершин Maksss123 Фриланс 8 09.03.2010 21:30
Графы (кратчайший путь и обход ВСЕХ вершин) 08ekhiv1 Помощь студентам 5 05.08.2009 13:12
Алгоритм подсчета числа вершин синусоиды? Mixasik Помощь студентам 8 07.06.2009 18:39
Оптимальное использование буфера вершин и индексов Vedrus Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 08.11.2008 03:46
Поиск разделяющих вершин в произвольном графе... Agnazar Помощь студентам 4 29.05.2008 22:51