Сформировать матрицу смежности (дс) - C#

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

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

Добрый день Уважаемые пользователи! Вопрос по дискретным структурам, но я постараюсь максимально ясно объяснить, чтобы было понятно и без знаний дс, поставленную задачу.. Имеется вот такая функция, но в ней исключение в этой строке matrix[mt[i]-1, k] = 1, не могу понять причины, вроде все перепроверил, но всё равно не работает:
 void create_matrix()
        {
            int[,] matrix = new int[n,n];
            for (int i = 0; i < n; i++)
                for (int j = 0; j < n; j++)
                    matrix[i, j] = 0;
 
            char[] mt = graf1[2].ToCharArray();
            for (int i = 0, k=0; i < mt.Length; i++)
            {
                if (mt[i] == 0) k++;
                else
                    matrix[mt[i]-1, k] = 1;
            }
        }
Её задача: создать матрицу смежности для графа. В

graf1[2]

лежит строка с графом(fo-представление), то есть, например, вот такая строчка: 206701900090450805600, где цифры >0 номера вершин, а 0 означает переход на новую строку,

n

- это кол-во вершин этого графа. Матрица для такой строки будет иметь вид: 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 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 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

И ещё вопрос как реализовать, чтобы можно было вводить двухзначные числа. Например 10, потому что в данном случаи оно посчитает как 1 и перейдёт на новую строку. Есть идея разделять цифры пробелом, но полностью как это реализовать ещё не знаю..

. Надеюсь, более менее понятно, если что, задавайте вопросы...Очень надеюсь на Вашу помощь. Заранее спасибо!)

Решение задачи: «Сформировать матрицу смежности (дс)»

textual
Листинг программы
                var digits = rows[i].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                                    .Select(int.Parse).ToArray();

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


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

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

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