private void Button12_Click_1(object sender, EventArgs e) { try { Klass.CopyDots(Klass.Kls_to_List(gls), old_Dots); Fill_clr(clr); Random rnd = new Random(); List <Dot> centers = new List <Dot>(); Klass none = gls[0]; foreach (Klass k in gls) { if (k.name != "none") { Klass.AppendDots(k, gls[0]); } } gls.Clear(); gls.Add(none); Dots.Clear(); Dots.AddRange(Klass.Kls_to_List(gls)); if (graph_method.SelectedItem.ToString() == "Мин. остовное дерево (алгоритм Прима)") { Rebro.Prim(Dots, bros, metric, Convert.ToInt32(klasters.Text)); } if (graph_method.SelectedItem.ToString() == "Выделение связных компонент") { Rebro.Build_from_R(Dots, bros, metric, Convert.ToInt32(Rbox.Text)); } Klass.lab4(gls, bros); foreach (Klass k in gls) { if (k.name != "none") { k.clr_name = clr[rnd.Next(0, clr.Count - 1)]; clr.Remove(k.clr_name); } } RefreshScreen(); RefreshAll(); } catch { } }
private void Button11_Click_1(object sender, EventArgs e) { try { Dots.Clear(); Dots.AddRange(Klass.Kls_to_List(gls)); if (graph_method.SelectedItem.ToString() == "Мин. остовное дерево (алгоритм Прима)") { Rebro.Prim(Dots, bros, metric); } if (graph_method.SelectedItem.ToString() == "Выделение связных компонент") { Rebro.Build_from_R(Dots, bros, metric, Convert.ToInt32(Rbox.Text)); } RefreshScreen(); } catch { } }
private void Fill_chart() { chad.Series[0].Points.Clear(); Dots.Clear(); Dots.AddRange(Klass.Kls_to_List(gls)); step_count.Clear(); List <Rebro> tempbros = new List <Rebro>(); Rebro.Build_full(Dots, tempbros, metric); for (int i = 0; i < chart_step.Count; i++) { double from, to; if (i == 0) { from = 0; } else { from = chart_step[i - 1]; } to = chart_step[i]; int count = 0; foreach (Rebro bro in tempbros) { if (bro.mean > from && bro.mean <= to) { count++; } } step_count.Add(count); chad.Series[0].Points.AddXY(to, count); } tempbros.Clear(); if (r_auto.Checked) { Rbox.Text = Find_R().ToString(); } }
public DekstraAlgorim(Point[] pointsOfgrath, Rebro[] rebraOfgrath) { points = pointsOfgrath; rebra = rebraOfgrath; }
static void Main(string[] args) { Point[] v = new Point[6]; v[0] = new Point(0, false, "F"); v[1] = new Point(9999, false, "A"); v[2] = new Point(9999, false, "B"); v[3] = new Point(9999, false, "C"); v[4] = new Point(9999, false, "D"); v[5] = new Point(9999, false, "E"); Rebro[] rebras = new Rebro[10]; rebras[0] = new Rebro(v[0], v[2], 8); rebras[1] = new Rebro(v[0], v[3], 4);//FC rebras[2] = new Rebro(v[0], v[1], 9);//FA rebras[3] = new Rebro(v[2], v[3], 7);//bc rebras[4] = new Rebro(v[2], v[5], 5);//be rebras[5] = new Rebro(v[3], v[5], 5);//ce rebras[6] = new Rebro(v[1], v[5], 6);//ae rebras[7] = new Rebro(v[1], v[4], 5);//ad rebras[8] = new Rebro(v[3], v[4], 4);//cd rebras[9] = new Rebro(v[2], v[4], 7);//bd DekstraAlgorim da = new DekstraAlgorim(v, rebras); da.AlgoritmRun(v[0]); List<string> b = PrintGrath.PrintAllMinPaths(da); for (int i = 0; i < b.Count; i++) Console.WriteLine(b[i]); Console.ReadKey(true); }