От матрицы смежности к списку ребер, ориентированный граф - 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 2static 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); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д