Ошибка CS1503 Аргумент 1: не удается преобразовать из "string" в "char" - C#

Узнай цену своей работы

Формулировка задачи:

Ошибку как исправить? Вот такие ошибки: Ошибка CS1503 Аргумент 1: не удается преобразовать из "string" в "char". Ошибка CS1503 Аргумент 1: не удается преобразовать из "string" в "char". Ошибка CS1503 Аргумент 2: не удается преобразовать из "string" в "char". Ошибка CS1503 Аргумент 2: не удается преобразовать из "string" в "char".
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Collections.Generic;
  4. namespace Grapher
  5. { class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. string[] data = File.ReadAllLines("массив.txt");
  10. int length = data[0].Split(';').Length, i;
  11. Graph graph = new Graph();
  12. for (i = 0; i < length; i++)
  13. {
  14. string[] str = data[i].Split(';');
  15. var vertices = new Dictionary<char, int>();
  16. for (int j = 0; j < length; j++)
  17. if (Convert.ToInt32(str[j]) != 0)
  18. vertices.Add(Char.Parse((j + 1).ToString()), Convert.ToInt32(str[j]));
  19. graph.add_vertex(Char.Parse((i + 1).ToString()), vertices);
  20. }
  21. string start = Console.ReadLine(); // Номер начального пункта
  22. string end = Console.ReadLine(); // Номер конечного пункта
  23. var result = graph.all_ways(start, end, "", 0);
  24. using (var sw = new StreamWriter("результат.txt"))
  25. {
  26. foreach (var item in result)
  27. sw.WriteLine(item);
  28. sw.WriteLine("Кратчайшее расстояние равно " + graph.shortest_path(start, end));
  29. }
  30. Console.Write("Результат был сохранен в файле результат.txt");
  31. Console.ReadLine();
  32. }
  33. }
  34. }
  35.  
  36. class Graph
  37. {
  38. Dictionary<char, Dictionary<char, int>> vertices = new Dictionary<char, Dictionary<char, int>>();
  39. public void add_vertex(char name, Dictionary<char, int> edges)
  40. {
  41. vertices[name] = edges;
  42. }
  43. public List<string> all_ways(char current, char end, string path, int weight)
  44. {
  45. List<string> pathes = new List<string>();
  46. if (path.IndexOf(current.ToString() + " ") != -1)
  47. return pathes;
  48. else
  49. if (path == "")
  50. path = current.ToString() + " = 0";
  51. else
  52. {
  53. int index = path.IndexOf("=");
  54. string temp = path.Substring(0, index);
  55. string sum = path.Substring(index + 1);
  56. weight += Convert.ToInt32(sum);
  57. path = temp + "-> " + current.ToString() + " = " + weight.ToString();
  58. }
  59. if (current == end)
  60. {
  61. pathes.Add(path);
  62. return pathes;
  63. }
  64. foreach (KeyValuePair<char, int> pair in vertices[current])
  65. {
  66. List<string> result = all_ways(pair.Key, end, path, pair.Value);
  67. if (result.Count != 0)
  68. pathes.AddRange(result);
  69. }
  70. return pathes;
  71. }
  72. public int shortest_path(char start, char finish)
  73. {
  74. var previous = new Dictionary<char, char>();
  75. var distances = new Dictionary<char, int>();
  76. var nodes = new List<char>();
  77. List<char> path = null;
  78. foreach (var vertex in vertices)
  79. {
  80. if (vertex.Key == start)
  81. {
  82. distances[vertex.Key] = 0;
  83. }
  84. else
  85. {
  86. distances[vertex.Key] = int.MaxValue;
  87. }
  88. nodes.Add(vertex.Key);
  89. }
  90. while (nodes.Count != 0)
  91. {
  92. nodes.Sort((x, y) => distances[x] - distances[y]);
  93. var smallest = nodes[0];
  94. nodes.Remove(smallest);
  95. if (smallest == finish)
  96. {
  97. path = new List<char>();
  98. while (previous.ContainsKey(smallest))
  99. {
  100. path.Add(smallest);
  101. smallest = previous[smallest];
  102. }
  103. break;
  104. }
  105. if (distances[smallest] == int.MaxValue)
  106. {
  107. break;
  108. }
  109. foreach (var neighbor in vertices[smallest])
  110. {
  111. var alt = distances[smallest] + neighbor.Value;
  112. if (alt < distances[neighbor.Key])
  113. {
  114. distances[neighbor.Key] = alt;
  115. previous[neighbor.Key] = smallest;
  116. }
  117. }
  118. }
  119. if (path.Count > 0)
  120. return distances[path[0]];
  121. else
  122. return 0;
  123. }
  124. }

Решение задачи: «Ошибка CS1503 Аргумент 1: не удается преобразовать из "string" в "char"»

textual
Листинг программы
  1. Convert.ToString(твоя переменная);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы