Как обратиться к процедуре Step - C#


textual

Код:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        public void button1_Click(object sender, EventArgs e)
        {
            int[,] map = new int[10, 10]; // карта
            int[] road = new int[10];     //дорога - номера точек карты
            bool[] incl = new bool[10];   // равен true если точка с номером i включена в road
            int start, finish;          // начальная и конечная точки
            bool found;
            int len, c_len;  // длина найденного(минимального) маршрута и текущего(формируемого)
            found = true;
            len = 0;  // длина найденного(минимального) маршрута
            c_len = 0; // длина текущего маршрута
            label1.Text = " ";
            // ввод описания карты из таблицы
            for (int i = 1; i < 10; i++)
            {
                for (int j = 1; j < 10; j++)
                {
                    if (dataGridView1.Rows[i].Cells[j].Value != null)
                    {
                        map[i, j] = Convert.ToInt16(dataGridView1.Rows[i].Cells[j].Value);
                    }
                    else map[i, j] = 0;
 
                }
 
            }
            start = Convert.ToInt16(textBox2.Text);
            finish = Convert.ToInt16(textBox3.Text);
            road[1] = start; // внесём точку в маршрут
            incl[start] = true; // пометим её как включенную
            step(start, finish, 2,label1); // ищем вторую точку маршрута
            if (!found) { label1.Text = "указанные точки не соединены!"; } // проверяем, найден ли хоть один путь
        }
        // выбор очередной точки
        static void step(int s, int f, int p,Label l)
        {
            int[,] map = new int[10, 10];
            int[] road = new int[10];
            bool[] incl = new bool[10];
            int start, finish, len, c_len;
            bool found;
            
            if (s == f)
            {
                len = c_len; // сохраняем длину найденного маршрута
                found = true;
                // вывод найденного маршрута
                for (int i = 1; i < p - 1; i++)
                {
                    l.Text = l.Text + ' ' + Convert.ToInt16(road[i]);
                    l.Text = l.Text + " , длина: " + Convert.ToInt16(len);
                }
            }
            else
                // выбираем очередную точку
            {
                for (int c = 1; c < 10; c++) // проверяем все вершины
                {
                    if ((map[s, c] != 0) && (!incl[c]) && ((len == 0) || (c_len + map[s, c] < len))) //точка соединена с текущей, но не включена в маррут
                    {
                        road[p] = c; // добавим вершину в путь
                        incl[c] = true; // пометим вершину как включённую
                        c_len = c_len + map[s, c];
                        step(c, f, p + 1,l);
                        incl[c] = false;
                        road[p] = 0;
                        c_len = c_len - map[s, c];
                    }
                }
            }
        }
    }
}


Похожие ответы
  1. Привет знатокам Сразу скажу - мне нужен хотя бы ручной расчет не говоря о программе, т.к. в программировании я мало понимаю, и скорее всего обратился не в ту тему или даже форум. Заранее извиняюсь Ребят, подскажите как найти оси координаты КУРСОРА если они расположены в обратном направлении, а их центр находится в левом верхнем углу? На скриншоте http://prntscr.com/gnbkw4 я показал так скажем условие которое сделал сам, но для моего мегамозга эта сложная задача.

  1. Код ================== { Entry 1 } Application Name: Google Chrome URL: http://cp.fange.ru/register Username: 123dd Password: 1234qwer ================= { Entry 2 } Application Name: Google Chrome URL: http://mail.ru Username: 123dd Password: 1234qwer ================== { Entry 3 } Application Name: Google Chrome URL: http://cp.ketrawars.net/register Username: 123dd Password: 1234qwer ================== как получить username:password из каждой части тхт

  1. Здравствуйте, я столкнулся с проблемой. Есть программа которая выполняет данные ей команды. Но проблема в том что надо реализовать пользовательские скрипты. Иными словами, есть папка в которой лежат файлы с кодом который программа должна выполнять при соответствующей команде в отдельном процессе. Вариант с запуском готовых .exe отпал сразу. Как я себе представляю: есть код на с#, который программа компилирует и выполняет. Принимаю все варианты и советы. Заранее спасибо!

  1. Дано равенство, в котором цифры заменены на буквы: rsrx + sru = rutr Найдите сколько у него решений, если различным буквам соответствуют различные цифры. может знаете менее прямолинейное решение?) а то как-то даже выглядит не хорошо.

  1. Всем привет! Из своего приложения запускаю стороннюю консольную программу и хочу передать ей строку с параметрами. Перед этим, пользователь через окно обзора выбирает несколько файлов и добавляет их в список, происходит это так:

  1. Добрый день! Имеется задача, которую, к сожалению, пока не могу реализовать: Есть текстовый файл состоящий из множества строк. В нем нужно заменить первое вхождение фразы, удовлетворяющей маске "; день недели(3 символа) число (2 символа) месяц (3 символа) год (4 символа) время (hh:mm:ss) часовой пояс (всегда +0300)" (например,"; Fri, 30 Jun 2017 09:06:53 +0300"), на второе вхождение фразы, удовлетворяющей маске. Остальные фразы не трогать. Фраза всегда начинается с символа ";" и заканчивается на "+0300". Если бы вся фраза всегда располагалась на одной строке, проблем у меня это бы не вызвало. Но фраза может начаться на одной строке, а закончиться на другой. Пример прилагаю.

  1. Всем доброго времени суток. Есть голая форма с label. При наведении мышки на нее MouseEnter Эта label перебирает из массива приветсвия на разных языках. Это вроде работает но как потом выключить этот поток я не могу

  1. Ребят, нужна помощь: У меня на кнопке такой код:

  1. Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке. Вроде бы задание элементарное, но мои познания в математики на столько скудны, что я не смог справиться с треугольником, попытался найти формулу, но у меня не вышло

  1. Здравствуйте. Такая проблема у меня есть файл в котором записан текст например "Berlin". Я считиваю файл и записиваю текст в масив каждую букву отдельно(фото). Потом пльзователь вводит букву например "r" и нужно проверить есть ли в масиве такая буква или нет и так пока не будет полностю введено слово. Помогите буду очень благодарен.