Вывести алгоритм флойда с выводом на печать кратчайших путей - C#
Формулировка задачи:
Вообщем нужно на си-шарп вывести алгоритм флойда с выводом на печать кратчайших путей , а матрица стоимостей задается ортогональным списком. Помогите реализовать .
Решение задачи: «Вывести алгоритм флойда с выводом на печать кратчайших путей»
textual
Листинг программы
using System;
namespace Алгоритм_Флойда
{
class Program
{
static void Main()
{
int[,] array = new int[6, 6] // Создание двумерного массива 6x6
//Матрица смежности для применения Алгоритма Флойда
{{0,3,1000,3,6,1000},
{1000,0,4,7,1000,4},
{3,8,0,5,1000,2},
{1000,6,1000,0,3,1000},
{7,1000,1,4,0,4},
{5,2,1000,1000,2,0}};
int i, j, k; // Создание локальных переменных для вычисления
// Применение алгоритма Флойда с использованием матрицы смежности
for (k = 0; k < 6; k++)
for (i = 0; i < 6; i++)
for (j = 0; j < 6; j++)
if (array[i, j] > array[i, k] + array[k, j])
array[i, j] = array[i, k] + array[k, j];
// Вывод измененной матрицы смежности на экран
Console.WriteLine("Алгоритм Флойда : ");
for (i = 0; i < 6; i++)
{
for (j = 0; j < 6; j++)
Console.Write(array[i, j] + "\t");
Console.WriteLine();
}
Console.ReadLine();
}
}
}