Пример #1
0
        public static void FordaFalckersonaMain()
        {
            int[,] input = ReadData.ReadInput(@"C:\Users\Ne1P\Desktop\8 семестр\Дескретні моделі\DescretModel\DescretModel\bin\Resours\inputLab4.txt");

            stepOne(input);

            Console.WriteLine("Пропускна здатність графа: " + maxWeight.Sum());
        }
Пример #2
0
        public static void PostmenMain()
        {
            int[,] input = ReadData.ReadInput(@"C:\Users\Ne1P\Desktop\8 семестр\Дескретні моделі\DescretModel\DescretModel\bin\Resours\inputLab2.txt");

            Console.WriteLine();
            Console.WriteLine("Введіть точку старту від 1 до " + input.GetLength(0));

            int startPoint = 0;

            try
            {
                startPoint = Convert.ToInt32(Console.ReadLine());
            }
            catch (Exception)
            {
                Console.WriteLine("Буковки не підходять !!!\n");
            }
            if (!(startPoint >= 1 & startPoint <= input.GetLength(0)))
            {
                Console.WriteLine("Некоректне число !!!\n");
                PostmenMain();
            }

            List <int> visitedPoint = new List <int>();

            visitedPoint.Add(--startPoint);

            while (visitedPoint.Count != input.GetLength(0))
            {
                Step(visitedPoint, input, startPoint);
            }
            if (input[visitedPoint.First(), visitedPoint.Last()] == 0)
            {
                Console.WriteLine("Немає шляху з точки " + (visitedPoint.Last() + 1) + " в " + (visitedPoint.First() + 1));
                Console.WriteLine("\n Результати");
                foreach (var item in visitedPoint)
                {
                    Console.Write((item + 1) + " -> ");
                }
                Console.WriteLine("\nДовжина шляху: " + roadLength);
            }
            else
            {
                roadLength += input[visitedPoint.First(), visitedPoint.Last()];
                Console.WriteLine("\n Результати");
                //Console.Write(startPoint);

                foreach (var item in visitedPoint)
                {
                    Console.Write((item + 1) + " -> ");
                }
                Console.WriteLine(visitedPoint.First() + 1);
                Console.WriteLine("\nДовжина шляху: " + roadLength);
            }
        }
Пример #3
0
        public static void kommviagerAlgoritm()
        {
            int[,] input = ReadData.ReadInput(@"C:\Users\Ne1P\Desktop\8 семестр\Дескретні моделі\DescretModel\DescretModel\bin\Resours\inputLab3.txt");
            Console.WriteLine();
            for (int i = 0; i < input.GetLength(0); i++)
            {
                for (int j = 0; j < input.GetLength(1); j++)
                {
                    if (input[i, j] == 0)
                    {
                        input[i, j] = -1;
                    }
                    //Console.Write(input[i, j] + "\t");
                }
            }

            int startPoint = 0;

            Console.WriteLine();
            Console.WriteLine("Введіть точку старту від 1 до " + input.GetLength(0));
            try
            {
                startPoint = Convert.ToInt32(Console.ReadLine());
            }
            catch (Exception)
            {
                Console.WriteLine("Буковки не підходять !!!\n");
            }
            if (!(startPoint >= 1 & startPoint <= input.GetLength(0)))
            {
                Console.WriteLine("Некоректне число !!!\n");
                findBaseLarg(input, startPoint);
            }

            int baseLarg = findBaseLarg(input, startPoint);

            creatRoad(input, startPoint, baseLarg);
            //    int[] roadX = new int[] { 0, 3, 5, 1, 4, };
            //    int[] roadY = new int[] { 3, 5, 1, 4, 2, };

            //stepLerg(input, roadX, roadY);
        }