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

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

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

Здравствуйте. Я понимаю, что уже неоднократно разбирался алгоритм Флойда-Уоршалла, но у меня всё равно не получается довести до ума. Хочу вводить данные с консоли. Хорошо. Дальше программа выдает ошибку (указывает строку 28, где находится условие if). Кто объяснит, в чем проблема?
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Алгоритм
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. int n, i, j, k;
  13. Console.WriteLine("Введите размерность: ");
  14. n = int.Parse(Console.ReadLine());
  15. int[,] matrix = new int[n,n];
  16. Console.WriteLine("Задайте числа");
  17. for (i = 0; i < n; i++)
  18. for (j = 0; j < n; j++) {
  19. Console.Write("matrix[" + i + "][" + j + "]= ");
  20. matrix[i,j] = int.Parse(Console.ReadLine());
  21. }
  22. for (k = 0; k < matrix.Length; ++k)
  23. for (i = 0; i < matrix.Length; ++i)
  24. for (j = 0; j < matrix.Length; ++j)
  25. if (matrix[i,k] + matrix[k,j] < matrix[i,j]) {
  26. matrix[i,j] = matrix[i,k] + matrix[k,j];
  27. Console.WriteLine("Самый короткий путь =" + matrix[i,j]);
  28. }
  29. Console.ReadKey();
  30. }
  31. }
  32. }

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

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

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


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

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

15   голосов , оценка 3.867 из 5

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

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

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