private void показатьПримерМинимальногоДоминирующегоПодмножестваToolStripMenuItem_Click(object sender, EventArgs e) { Program.FORM.listBoxMatrix.Items.Clear(); AMatrix = new int[V.Count, V.Count]; G.fillAdjacencyMatrix(V.Count, E, AMatrix); selectButton.Enabled = true; drawVertexButton.Enabled = true; drawEdgeButton.Enabled = true; deleteButton.Enabled = true; V.Clear(); E.Clear(); G.clearSheet(); sheet.Image = G.GetBitmap(); this.E = new List <Edge>(Etmp); this.V = new List <Vertex>(Vtmp); for (int i = 0; i < V.Count; i++) { V[i].color = 0; } SqMatrix M = new SqMatrix(AMatrix); g = new Graphs(M); FileStream fs = new FileStream("Информация о графе.txt", FileMode.Create); TextWriter tmp = Console.Out; StreamWriter sw = new StreamWriter(fs); Console.SetOut(sw); g.DominSub(); Console.WriteLine("Доминирующие (внешне устойчивые) множества (записано каждое третье):"); g.ShowDominSub(3); Console.WriteLine("Минимальные (не содержащие в себе других) доминирующие множества:"); g.ShowMinDominSub(); Console.WriteLine("Наименьшие (по мощности) доминирующие множества:"); g.ShowSmallestDominSub(); Console.WriteLine("-----------> Число доминирования равно {0}", g.DominationNumber); Vectors v = new Vectors(g.MinimalDominSubsets[0]); for (int i = 0; i < v.Deg; i++) { V[(int)v[i] - 1].color = 1; } G.drawALLGraph(V, E); sw.Close(); Console.SetOut(tmp); Console.WriteLine("Запись завершена!"); StreamReader sr = new StreamReader("Информация о графе.txt"); string s = ""; while (s != null) { listBoxMatrix.Items.Add(s); s = sr.ReadLine(); } sr.Close(); }