Program.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. class Program
  5. {
  6. static void Main(string[] args)
  7. {
  8. Console.WriteLine("// -- Алгоритм Дейкстры -- \\\n");
  9. Console.WriteLine("Способы ввода графа:");
  10. Console.WriteLine("[1] - ввести граф вручную.");
  11. Console.WriteLine("[2] - использовать готовый граф из инструкции к заданию.");
  12. Console.WriteLine("[3] - использовать готовый граф задача №1 из тетради.\n");
  13. Console.Write("Введите номер выбранного способа: ");
  14. int choise = int.Parse(Console.ReadLine());
  15. Graph graph;
  16. switch (choise)
  17. {
  18. case 1:
  19. graph = GraphIO.InputGraphFromConsole();
  20. break;
  21. case 2:
  22. graph = GraphIO.InputGraphFromManual();
  23. break;
  24. case 3:
  25. graph = GraphIO.InputGraphFromTetradka();
  26. break;
  27. default:
  28. Console.WriteLine("Выбранного способа не существует. Перезапустите программу.\n");
  29. return;
  30. }
  31. Console.Write("\nВведите номер изначальной вершины: ");
  32. int startingVertexNumber = Convert.ToInt32(Console.ReadLine());
  33. // Найти минимальные расстояния
  34. var result = DijkstraMethod.ApplyMethod(graph, startingVertexNumber);
  35. // Напечатать полученное решение
  36. DijkstraMethod.PrintSolution(graph, startingVertexNumber, result);
  37. }
  38. }