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

Реферат Розробка програми для пошуку максимально віддалених вершин у графі





justify">}

r.Close ();

return false;

}


. Метод LoadResources завантажує зображення вершин із заданих файлів картинок формату png :


public void LoadResources (string nodeImage, string nodeOkImage)

{

imgNode=Image.FromFile (nodeImage);

imgOkNode=Image.FromFile (nodeOkImage);

imageCenter=(int) Math.Round ((float) imgOkNode.Width/2);

font=new Font ( Times New Roman raquo ;, 14, FontStyle.Bold);

}


. Метод NodeAdd додає вершину з вказаними координатами і видимістю в граф:


public int NodeAdd (int x, int y, bool isValide=true)

{

nodes.Add (new GraphNode (x, y, isValide));

return nodes.Count - 1;

}


. Метод NodeGetID повертає індекс вершини, що знаходиться під курсором миші, або - 1, якщо під курсором немає вершин:



public int NodeGetID (int mouseX, int mouseY)

{

for (int i=0; i lt; nodes.Count; i ++)

{

int nX=nodes [i] .GetPositionX () - 16;

int nY=nodes [i] .GetPositionY () - 16;

if (mouseX gt;=nX amp; amp; mouseX lt;=nX + imgOkNode.Width)

if (mouseY gt;=nY amp; amp; mouseY lt;=nY + imgOkNode.Height)

return i;

}

return - 1;

}


. Методи NodeGetX і NodeGetY повертає x і y координати зазначеної вершини відповідно:


public int NodeGetX (int id)

{

if (id lt; nodes.Count amp; amp; nodes.Count gt; - 1)

{

return nodes [id] .GetPositionX ();

}

return - 1;

}

public int NodeGetY (int id)

{

if (id lt; nodes.Count amp; amp; nodes.Count gt; - 1)

{

return nodes [id] .GetPositionY ();

}

return - 1;

}


. Метод NodeRemove видаляє зазначену вершину з графа (також, видаляє всі ребра, пов'язані з вершиною):


public bool NodeRemove (int id)

{

if (nodes.Count gt; id amp; amp; nodes.Count gt; - 1)

{

List lt; int gt; toRemove=new List lt; int gt; ();

for (int i=0; i lt; edges.Count; i ++)

{

int node1, node2;

edges [i] .GetLinkedNodes (out node1, out node2);

if (node1 == id || node2 == id)

toRemove.Add (i);

}

while (toRemove.Count gt; 0)

{

EdgeRemove (toRemove [0]);

toRemove.RemoveAt (0);

for (int i=0; i lt; toRemove.Count; i ++)

{

toRemove [i] -=1;

}

}

nodes [id] .Remove ();

return true;

}

return false;

}


. Метод NodeSetPosition встановлює координати заданої вершини:


public bool NodeSetPosition (int id, int x, int y)

{

if (id lt; nodes.Count amp; amp; nodes.Count gt; - 1)

{

nodes [id] .SetPosition (x, y);

return true;

}

return false;

}


10. Метод Save зберігає граф у файл з заданим ім'ям:


public void Save (string filename)

{

FileStream fs=new FileStream (filename, FileMode.Create, FileAccess.Write);

BinaryWriter w=new BinaryWriter (fs);

w.Write (signature);

w.Write (nodes.Count);


Назад | сторінка 6 з 11 | Наступна сторінка





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

  • Реферат на тему: Return to materialism
  • Реферат на тему: Організація Public Relations
  • Реферат на тему: The culture of public speaking
  • Реферат на тему: Процес IPO (Initial Public Offering)
  • Реферат на тему: Роль Public Relations в маркетингу організації