Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Завдання про червоних і синіх точках

Реферат Завдання про червоних і синіх точках





: byte ;, tmpList, oList, rList: TList ;, redCount, blueCount: integer ;, cHeight: integer ;: double; _sh: integer; _1, j_1, i_2, j_2: integer;, j, start: integer;, P2, PMin, Pz: PPnt;, Sum: double ;, y: integer;: Boolean; _col, ip1, ip2: integer;

{$ R * .dfm} ClearGrid; rRect: TRect; .Left:=cWidth + 1; .Right:=Form1.Image2.Width; .Top:=0; .Bottom:=Form1.Image2.Height; .Image2.Canvas.Brush.Color:=clWhite; .Image2.Canvas.FillRect (rREct) ;; FindLines;, j, start: integer;, P2, PMin, Pz: PPnt;, Sum: double ; start:=0 to pList.Count - 1 do:=0; .Clear; i:=0 to pList.Count - 1 do:=pList.Items [i]; (P); ^. X:=Pz. X; ^. Y:=Pz.Y; ^. rColor:=Pz.rColor; ^. Linked:=Pz.Linked; ^. Num:=Pz.Num; .Add (P) ;; i:=start to tmpList.Count - 2 do:=tmpList.Items [i]; not P ^ .Linked then:=MaxInt; j:=0 to tmpList.Count - 1 doi lt; gt; j then:=tmpList.Items [j]; (not P2 ^ .Linked) and (P2 ^ .rColor lt; gt; P ^ .rColor) thensqrt (sqr (P ^ .X - P2 ^ .X) + sqr (P ^ .Y - P2 ^ .Y)) lt; Min then:=sqrt (sqr (P ^ .X - P2 ^ .X) + sqr (P ^ .Y - P2 ^ .Y));:=P2 ;;;;:=Sum + Min; ^. Linked: =True; ^. Linked:=True; ^. Num:=P ^ .Num ;;; i:=0 to start - 1 do:=tmpList.Items [i]; not P ^ .Linked then:=MaxInt; j:=0 to tmpList.Count - 1 doi lt; gt; j then:=tmpList.Items [j]; (not P2 ^ .Linked) and (P2 ^ .rColor lt; gt; P ^ .rColor) thensqrt (sqr (P ^ .X - P2 ^ .X) + sqr (P ^ .Y - P2 ^ .Y)) lt; Min then:=sqrt (sqr (P ^ .X - P2 ^ .X) + sqr (P ^ .Y - P2 ^ .Y));:=P2 ;;;;:=Sum + Min; ^. Linked: =True; ^. Linked:=True; ^. Num:=P ^ .Num ;;; start=0 then:=sum; .Clear; i:=0 to tmpList.Count - 1 do:=tmpList.Items [ i]; (P); ^. X:=Pz.X; ^. Y:=Pz.Y; ^. rColor:=Pz.rColor; ^. Linked:=Pz.Linked; ^. Num:=Pz. Num; .Add (P) ;; if sum lt; minsum then:=sum; .Clear; i:=0 to tmpList.Count - 1 do:=tmpList.Items [i]; (P); ^. X:= Pz.X; ^. Y:=Pz.Y; ^. rColor:=Pz.rColor; ^. Linked:=Pz.Linked; ^. Num:=Pz.Num; .Add (P) ;;;;. Clear; i:=0 to oList.Count - 1 do:=oList.Items [i]; (P); ^. X:=Pz.X; ^. Y:=Pz.Y; ^. rColor:=Pz.rColor; ^. Linked:=Pz.Linked; ^. Num:=Pz.Num; .Add (P) ;;. Label3.Caption:= Мінімальна сума відрізків: + FloatToStr (minSum) ;; DrawGrid (vList: TList); i, j: integer ;: TRect ;: PPnt; j:=1 to vList.Count do.Image2.Canvas.Pen.Color:=clBlack; .Left: =cWidth * j; .Top:=0; .Right:=cWidth * (j + 1) ;. Bottom:=cHeight; .Image2.Canvas.FillRect (rRect) ;. Image2.Canvas.Brush.Color:=clInactiveCaption ; .Image2.Canvas.FillRect (rRect) ;. Image2.Canvas.Font.Style:=[fsBold] ;. Image2.Canvas.TextOut (j * cWidth + round (cWidth/2) - 3, 1, IntToStr (j )); i:=0 to 5 do.Image2.Canvas.MoveTo (cWidth * j, i * cHeight) ;. Image2.Canvas.LineTo (cWidth * (j + 1), i * cHeight) ;; i:= j to j + 1 do.Image2.Canvas.MoveTo (i * cWidth, 0) ;. Image2.Canvas.LineTo (i * cWidth, cHeight * 5 + 1) ;;. Image2.Canvas.Font.Style:=[ ] ;. Image2.Canvas.Brush.Color:=clWhite;:=vList.Items [j - 1] ;. Image2.Canvas.TextOut ((j + 1) * cWidth - round (cWidth/2) - 8, cHeight + 1, IntToStr (p ^ .X)) ;. Image2.Canvas.TextOut ((j + 1) * cWidth - round (cWidth/2) - 8, 2 * cHeight + 1, IntToStr (p ^ .Y)) ; .Image2.Canvas.TextOut ((j + 1) * cWidth - round (cWidth/2) - 2, 3 * cHeight + 1, IntToStr (p ^ .num)); p ^ .rColor=1 then.Left: =cWidth * j + 1; .Top:=cHeight * 4 + 1; .Right:=cWidth * (j + 1) ;. Bottom:=cHeight * 5; .Image2.Canvas.Brush.Color:=clRed ;. Image2.Canvas.FillRect (rRect) ;; p ^ .rColor=2 then.Left:=cWidth * j + 1; .Top:=cHeight * 4 + 1; .Right:=cWidth * (j + 1) ;. Bottom:=cHeight * 5; .Image2.Canvas.Brush.Color:=clBlue; .Image2.Canvas.FillRect (rRect) ;;;; DeletePoints (vList: TList); p: PPnt; vList.Count gt; 0 do:=vList.Items [0]; (P) ;. Delete (0) ;;:=0;:=0;:=0 ;; DrawPoints (vList: TList); i, j: integer ;, p2:PPnt; i:=0 to vList.Count - 1 do:=vList.Items [i]; p ^ .rColor=1 then.Image1.Canvas.Brush.Color:=clRed; p ^ .rColor=2 then. Image1.Canvas.Brush.Color:=clBlue; .Image1.Canvas.Pen.Color:=clBlack; .Image1.Canvas.Ellipse (p ^ .X - 4, p ^ .Y - 4, p ^ .X + 4 , p ^ .Y + 4) ;. Image1.Canvas.Brush.Color:=clWhite; .Image1.Canvas.TextOut (p ^ .X - 20, p ^ .Y - 5, IntToStr (i + 1)); j:=i + 1 to vList.Count - 1 do:=vList.Items [j]; p ^ .num=p2 ^ .num then.Image1.Canvas.MoveTo (p ^ .X, p ^ .Y); p ^ .rColor=1 then Form1.Image1.Canvas.Pen.Color:=clRed; p ^ .rColor=2 then Form1.Image1.Canvas.Pen.Color:=clBlue; .Image1.Canvas.LineTo (round (( P ^ .X + P2 ^ .X)/2), round ((P ^ .Y + P2 ^ .Y)/2)); p2 ^ .rColor=1 then Form1.Image1.Canvas.Pen.Color:= clRed; p2 ^ .rColor=2 then Form1.Image1.Canvas.Pen.Color:=clBlue; .Image1.Canvas.LineTo (P2 ^ .X, P2 ^ .Y) ;;;;; AddDrawPoint (vList: TList; X, Y: integer); p: PPnt; (tCount) ;. Image1.Canvas.Pen.Color:=clBlack; rColor=1 then (RedCount) ;. Image1.Canvas.Brush.Color:=clRed; .Image1. Canvas.Ellipse (X - 4, Y - 4, X + 4, Y + 4) ;. Image1.Canvas.Brush.Color:=clWhite; .Image1.Canvas.TextOut (X - 20, Y - 5, IntToStr ( tCount)); (p); ^. X:=X; ^. Y:=Y; ^. rColor:=1; ^. Linked:=false; ^. num:=tCount; .Add (p) ...


Назад | сторінка 5 з 7 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Технологія розгортання додатків Java Web Start
  • Реферат на тему: Маркетингові дослідження і розробка плану маркетингу "Clean and Clear& ...
  • Реферат на тему: Double Standards in Modern Politics
  • Реферат на тему: Double Entry Types of Balance Sheet
  • Реферат на тему: Double electric layer. Mechanism of formation and theory of structure