private void SearchCycles() { loadingLabel.Visible = true; CyclesSearcher searcher; switch (algorithmSelect.SelectedIndex) { case 0: searcher = new SimpleSearcher(Graph, true); break; case 1: searcher = new EulerSearcher(Graph, true); break; case 2: searcher = new HamiltonSearcher(Graph, true); break; default: throw new WrongCycleTypeException("При выборе вида цикла произошла неизвестная ошибка!"); } searcher.GetCycles(); Steps = searcher.GetSteps(); ShowFirstStep(); loadingLabel.Visible = false; stepControls.Visible = true; }
private void SearchCycles() { CyclesSearcher searcher; switch (selectCyclesType.SelectedIndex) { case 0: searcher = new SimpleSearcher(Graph, false); break; case 1: searcher = new EulerSearcher(Graph, false); break; case 2: searcher = new HamiltonSearcher(Graph, false); break; default: throw new WrongCycleTypeException("При выборе алгоритма произошла ошибка. Просим прощения за доставленные неудобства!"); } Cycles = searcher.GetCycles(); if (Cycles.Count > 0) { InitCycleSelector(); MessageBox.Show($"Найдено следующее количество циклов: {Cycles.Count}."); panelCycles.Visible = true; } else { MessageBox.Show($"Выявлено отсутствие циклов выбранного типа в данном графе."); panelCycles.Visible = false; } }