Exemplo n.º 1
0
        private void Processbutton_Click(object sender, EventArgs e)
        {
            TextBoxOut.Clear();

            if (TextBoxParamN.Text.Length == 0)
            {
                TextBoxOut.AppendText("Параметр N не задан!");
                return;
            }

            Graph G = setGraph();

            if (G == null)
            {
                return;
            }

            int N = System.Convert.ToInt32(TextBoxParamN.Text);

            // Поиск количества путей
            int res = G.countWays(N);

            // Вывод результата
            TextBoxOut.AppendText(System.Convert.ToString(res));
        }
Exemplo n.º 2
0
        private Graph setGraph()
        {
            // Проверки
            if (TextBoxIn.Text.Length == 0)
            {
                TextBoxOut.AppendText("Введите матрицу!");
                return(null);
            }
            // Инициализация
            string reference = TextBoxIn.Text.Trim();

            string[] str  = reference.Split('\n');
            int      size = str.Length;

            int[,] matr = new int[size, size];

            for (int i = 0; i < size; i++)
            {
                string[] stl = str[i].Split(' ');

                if (stl.Length != size)
                {
                    TextBoxOut.AppendText("Неверный формат матрицы!");
                    return(null);
                }

                for (int j = 0; j < size; j++)
                {
                    matr[i, j] = System.Convert.ToInt32(stl[j]);
                }
            }

            Graph G = new Graph();

            G.setupGraph(matr);

            return(G);
        }