От матрицы смежности к списку ребер, ориентированный граф - C#

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

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

Ориентированный граф задан матрицей смежности, выведите его представление в виде списка ребер.

Формат входных данных

На вход программы поступает число n ( 1<=n<=100) – количество вершин графа, а затем n строк по n чисел, каждое из которых равно 0 или 1, – его матрица смежности.

Формат выходных данных

Выведите список ребер заданного графа. Помогите разобраться с этой задачей. Пробовал пройти двумя циклами графа,потом если а[i,j]==1, то выводил i и j Подскажите пожалуйста,что делаю не так?

входные данные

3 0 1 0 0 0 1 1 1 0

выходные данные

1 2 2 3 3 1 3 2
static void Main(string[] args)
        {
            int n = Convert.ToInt32(Console.ReadLine());
            int[,] a = new int[n, n];
            a = Massiv(a);
            for (int i = 0; i < n; i++)
              
           {
                for (int j = i; j <n; j++)
                {
                    if (a[i, j] == 1)
                    {
                        Console.WriteLine(i+ " " +j);
                    }
                }
            }
            
        }

Решение задачи: «От матрицы смежности к списку ребер, ориентированный граф»

textual
Листинг программы
            int n = Convert.ToInt32(Console.ReadLine());
            List<int>[] a = new List<int>[n];
 
            for (int i = 0; i < n; i++)
            {
                string[] strings = Console.ReadLine().Split();
                a[i] = new List<int>();
                for (int j = 0; j < strings.Length; j++)
                {
                    if (strings[j] == "1")
                    {
                        Console.WriteLine("{0} {1}", i+1, j+1);
                    }
                }
            }

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


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

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

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