Поиск Пути А* - C#
Формулировка задачи:
Есть проблема, я не могу понять как сделать так чтобы начиналась поиск пути с любой точки и доходил до любой точки которую я введу, что надо сделать? у меня получается только от 0,0 до 4,4 вот код
int[,] CopMap = new int[5, 5]; int [,] map = new int[,]{ {0,0,0,0,0}, {-1,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}, }; int b = 0; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { Console.Write(map[i,j] + " "); } Console.WriteLine(); } Console.WriteLine(); Console.WriteLine(); //////////////////////////////// волна Console.WriteLine(" obrabotanij massive"); int n = -1; int p = -1; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (map[i, j] != -1 && map[i, j] != -3) { map[i, j] = n + 1; } n = n + 1; Console.Write(map[i, j] + "\t"); } n = p + 1; p = p + 1; Console.WriteLine(); } Console.WriteLine("nashol " + b); int g = 0; int d=0; int max = 0; Console.WriteLine(); Console.WriteLine(); //////////////////////////////////////////////////// for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if(map[i,j]!=-1) if (map[i, j] == 0) { max = map[i, j]; } if (map[i,j]>max) { d = d + 1; max++; map[i, j] = 0; } Console.Write(map[i, j] + "\t"); } d++; Console.WriteLine(); } Console.WriteLine();
Решение задачи: «Поиск Пути А*»
textual
Листинг программы
for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if(map[i,j]!=-1) if (map[i, j] == 2) { b = b + 1; max = map[i,j]; } if (b == 3) { if (map[i, j] > max) { d = d + 1; max++; map[i,j] = 0; } } Console.Write(map[i, j] + "\t"); } d++; Console.WriteLine(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д