Реализовать алгоритм Флойда-Уоршалла - C#

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

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

Здравствуйте. Я понимаю, что уже неоднократно разбирался алгоритм Флойда-Уоршалла, но у меня всё равно не получается довести до ума. Хочу вводить данные с консоли. Хорошо. Дальше программа выдает ошибку (указывает строку 28, где находится условие if). Кто объяснит, в чем проблема?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Алгоритм
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, i, j, k;
            Console.WriteLine("Введите размерность: ");
            n = int.Parse(Console.ReadLine());
            int[,] matrix = new int[n,n];
 
            Console.WriteLine("Задайте числа");
            for (i = 0; i < n; i++)
                for (j = 0; j < n; j++) {
                    Console.Write("matrix[" + i + "][" + j + "]= ");
                    matrix[i,j] = int.Parse(Console.ReadLine());
                }
            
            for (k = 0; k < matrix.Length; ++k)
                for (i = 0; i < matrix.Length; ++i)
                    for (j = 0; j < matrix.Length; ++j)
                        if (matrix[i,k] + matrix[k,j] < matrix[i,j]) {
                            matrix[i,j] = matrix[i,k] + matrix[k,j];
                            Console.WriteLine("Самый короткий путь =" + matrix[i,j]);
                        }
            Console.ReadKey();
 
        }
    }
}

Решение задачи: «Реализовать алгоритм Флойда-Уоршалла»

textual
Листинг программы
            for (int k = 0; k < n; ++k)
                for (int i = 0; i < n; ++i)
                    for (int j = 0; j < n; ++j)
                      ...

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


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

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

15   голосов , оценка 3.867 из 5
Похожие ответы