private void Start(object sender, System.Windows.RoutedEventArgs e) { int[] matr = new int[Consts.SIZE*Consts.SIZE]; bool ZeroWas = false; //Считываем в массив ввеленные пользователем числа /*for (int i = 0; i < matr.Length; i++ ) { if (!String.IsNullOrEmpty(((TextBox)Field.Children[i]).Text )) { matr[i] = Convert.ToInt32(((TextBox)Field.Children[i]).Text); } else { if (!ZeroWas) { matr[i] = 0; ZeroWas = true; } else { MessageBox.Show("Введите числа"); return; } } }*/ graph = new Graph(); //Создали граф Random r = new Random(); // Permutation per = new Permutation(matr); Permutation per = new Permutation(new int[] {0,1,2,3,4,5,6,7,8}); for (int j = 1; j < 50; j++)//проходим по всем вершинам { int i = r.Next(4); Permutation per1 = null; switch (i) { case 0: per1 = per.Left(); break; case 1: per1 = per.Right(); break; case 2: per1 = per.Up(); break; case 3: per1 = per.Down(); break; } if (per1 != null) { per = per1; } } path = graph.Dijkstra(graph.GetNumberOfPermutation(per)); //Нашли путь if (path == null) { MessageBox.Show("Это конечная"); } else { currentMtx = path.Count - 1; //Текущая матрица Print(per.AllNumbers()); //Отрисовка //Timer timer = new Timer(); timer.Interval = 1000; timer.Elapsed += TimeIs; timer.Start(); //endTimer } }