|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.03.2010, 05:00 | #1 |
Пользователь
Регистрация: 28.03.2010
Сообщений: 21
|
Ребят,надо найти ошибку
Задаваемое кол-во точек (3..30) генерируется случайным образом!!!Надо найти три точки: Самую высшую,самую левую и самую правую точки!!!И из этих точек построить треугольник!!!
|
28.03.2010, 05:02 | #2 |
Пользователь
Регистрация: 28.03.2010
Сообщений: 21
|
procedure TForm1.Button1Click(Sender: TObject);
var q,p,s,i,n,m,j,h,b,b1,b2,b3:integer; max1,max2,min:TPoint; w:string; x,y:real; a:array[1..33] of TPoint; m1:array[1..3] of TPoint; begin memo1.Clear; for i:=1 to strtoint(edit3.Text) do begin randomize; with image1.canvas do begin n:=(image1.width-250-strtoint(edit2.Text)*3)+random(imag e1.width-80); m:=(image1.Height-250-strtoint(edit2.Text)*3)+random(imag e1.Height-50); x:=n; y:=m; memo1.Lines.Add('№'+inttostr(i)+' ('+floattostrf(x,fffixed,3,0)+':'+f loattostrf(y,fffixed,3,0)+')'); p:=10+random(385); s:=10+random(385); image1.Canvas.Pen.Width:=5; image1.Canvas.Pen.Color:=clGreen; image1.Canvas.Ellipse(n-1,image1.Height-(m-1),n+1,image1.Height-(m+1)); image1.Canvas.TextOut(n,image1.Heig ht-(m),'№'+inttostr(i)); a[i].X:=n; a[i].Y:=m; end; image1.Canvas.Pen.Width:=1; image1.Canvas.Pen.Color:=clblack; image1.Canvas.Font.Size:=7; memo1.Visible:=true; end; m1[1].Y:=a[1].y; for b:=1 to strtoint(edit3.Text) do if (a[b].Y>m1[1].Y) then begin m1[1].Y:=a[b].Y; m1[1].X:=a[b].X; end; m1[2].X:=a[1].X; for b:=1 to strtoint(edit3.Text) do if (a[b].X>m1[2].X) then begin m1[2].X:=a[b].X; m1[2].Y:=a[b].Y; end; m1[3].X:=a[1].X; for b:=1 to strtoint(edit3.Text) do if (a[b].X>m1[3].X) then begin m1[3].X:=a[b].X; m1[3].Y:=a[b].Y; end; image1.Canvas.MoveTo(m1[1].X,image1.Height-m1[1].Y); image1.Canvas.LineTo(m1[2].X,image1.Height-m1[2].Y); image1.Canvas.MoveTo(m1[2].X,image1.Height-m1[2].Y); image1.Canvas.LineTo(m1[3].X,image1.Height-m1[3].Y); image1.Canvas.MoveTo(m1[3].X,image1.Height-m1[3].Y); image1.Canvas.LineTo(m1[2].X,image1.Height-m1[1].Y); end; |
28.03.2010, 05:27 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ну, прежде всего выкиньте из цикла Randomize;
это нужно делать ОДИН раз перед генерацией случайной последовательности. я бы рекомендовал выполнить это на событии создания формы (onCreate): Код:
3) я бы разделил процедуры генерации точек и процедуру отображения этих точек на форме 4) и, главное, — А в чём собственно вопрос? Ошибка то какая?.. (сейчас лень запускать Дельфи... ) |
28.03.2010, 06:10 | #4 |
Пользователь
Регистрация: 28.03.2010
Сообщений: 21
|
Ошибка в том,что он не строит треугольник!А с точками все нормально! я думаю ошибка где то тут!
Последний раз редактировалось vovey; 28.03.2010 в 06:48. |
28.03.2010, 06:47 | #5 |
Пользователь
Регистрация: 28.03.2010
Сообщений: 21
|
Код:
|
28.03.2010, 09:18 | #6 | |
FORTRAN programmer
Форумчанин
Регистрация: 08.12.2009
Сообщений: 153
|
Цитата:
|
|
28.03.2010, 12:07 | #7 |
Пользователь
Регистрация: 28.03.2010
Сообщений: 21
|
Так и было изначально у меня,случайно с ошибкой отправил!Все ровно треугольник не строит((((
|
28.03.2010, 12:40 | #8 |
Пользователь
Регистрация: 28.03.2010
Сообщений: 21
|
Вот полное условие,вместе с моей программой,посмотрите!
Задаваемое кол-во точек (3..30) генерируется случайным образом на координатной плоскости 40*40.Найти три точки: Самую высшую,самую левую и самую правую точки.Построить треугольник и подсчитать количество точек,находящихся внутри треугольника и снаружи! |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти ошибку | stanBRY | Общие вопросы C/C++ | 17 | 29.03.2010 23:16 |
Найти ошибку | Uvaroff | Помощь студентам | 3 | 13.01.2010 01:45 |
Ребят найдите ошибку! | agunek | Помощь студентам | 8 | 31.10.2009 16:24 |
ребят, помогите найти ошибку | Frame1992 | Помощь студентам | 14 | 08.10.2009 02:01 |
Надо найти код из исходника | Черничный | Работа с сетью в Delphi | 0 | 20.08.2008 13:19 |