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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2011, 22:56   #1
adikxz
 
Регистрация: 14.12.2011
Сообщений: 4
По умолчанию построение вершин(графы)

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
ColorDialog1: TColorDialog;
Image1: TImage;
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
count:integer=0;
pointmassiv:array of TPoint;
r:integer=20;
s:array of array of integer;
v:array of array of integer;
centr:array of TPoint;
implementation

{$R *.dfm}

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);

begin
ColorDialog1.Color:=clBlue;
Image1.Canvas.Brush.color:=form1.co lordialog1.color;
Image1.Canvas.Ellipse((x-r),(y-r),(x+r),(y+r));
Image1.Canvas.Textout(x-4,y-6,inttostr(count));
inc(count);
SetLength(pointmassiv,count);
SetLength(s,count,count);
SetLength(centr,count);
setlength(v,count,count);
pointmassiv[count-1].x:=x;
pointmassiv[count-1].y:=y;
centr[count-1].X:=x-4;
centr[count-1].x:=y-6;

end;
procedure TForm1.Button1Click(Sender: TObject);
var kol,i:integer;
begin
Image1.Canvas.Brush.Color:=clWhite;
Image1.Canvas.FloodFill(50,50,clPur ple,fsBorder);
Image1.Canvas.Brush.Color:=clBlack;


Randomize;
kol:=StrToInt(form1.edit1.text);
for i:=1 to kol do

Image1MouseDown(Sender,mbLeft,[ssLeft],50+random(Image1.Width-100),50+random(Image1.Height-100));

end;

end.


Программа рисует круги(вершины) к которым потом будут проведены узлы и тем самым построены графы, как сделать так что бы круги НЕ появлялись впритык, было какое то минимальное ограничение.
Изображения
Тип файла: jpg 1.JPG (68.7 Кб, 124 просмотров)
adikxz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обход заданных вершин графа Badrvic Помощь студентам 1 22.11.2011 12:54
Графы.Определение смежных вершин по заданной матрице Solnce90 Паскаль, Turbo Pascal, PascalABC.NET 1 28.06.2011 21:23
граф, перебор вершин PianeR Помощь студентам 0 02.12.2010 12:00
Площадь фигуры по координатам вершин Maksss123 Фриланс 8 09.03.2010 21:30
Графы (кратчайший путь и обход ВСЕХ вершин) 08ekhiv1 Помощь студентам 5 05.08.2009 13:12