Списки смежности из матрицы - Pascal
Формулировка задачи:
Здравствуйте,помогите пожалуйста написать программу,спасибо.Напишите программу, которая строит списки смежности для каждой вершины графа на основе его матрицы смежности.
Входные данные
В первой строке вводится количество вершин графа N ( 1 ≤ N ≤ 1000 ). В следующих N строках записано по N чисел, разделённых пробелами – элементы матрицы смежности графа.
Выходные данные
Программа должна вывести списки смежности для каждой вершины графа в порядке возрастания их номеров. Номера вершин в каждом списке разделены пробелами. Нумерация начинается с единицы. Если из вершины не выходит ни одно ребро, вместо списка нужно вывести число 0.
Примеры
входные данные
5
0 1 1 1 0
1 0 1 0 1
1 1 0 1 0
0 0 0 0 0
0 1 0 1 0
выходные данные
2 3 4
1 3 5
1 2 4
0
2 4
Решение задачи: «Списки смежности из матрицы»
textual
Листинг программы
var n, i, j, k, a: Integer; begin ReadLn(n); for i:=1 to n do begin k:=0; for j:=1 to n do begin Read(a); if a<>0 then begin Write(' ',j); Inc(k); end; end; if k=0 then Write(0); ReadLn; WriteLn; end; end.
Объяснение кода листинга программы
- Объявление переменных:
n
- целочисленная переменная, содержащая количество элементов в списке.i
- целочисленная переменная, используемая в цикле для обхода элементов.j
- целочисленная переменная, используемая во вложенном цикле для обхода элементов.k
- целочисленная переменная, содержащая количество ненулевых элементов в строке.a
- целочисленная переменная, содержащая значение элемента матрицы.
- Ввод данных:
- Вводится значение переменной
n
с помощью функции ReadLn.
- Вводится значение переменной
- Цикл:
- Для каждого значения
i
от 1 доn
выполняются следующие действия:
- Для каждого значения
- Инициализация переменной
k
:- Переменная
k
устанавливается в 0.
- Переменная
- Вложенный цикл:
- Для каждого значения
j
от 1 доn
выполняются следующие действия:- Считывается значение элемента матрицы и сохраняется в переменную
a
. - Если
a
не равно 0, то выполняются следующие действия:- Выводится значение
j
, представляющее индекс ненулевого элемента. - Переменная
k
увеличивается на 1 с помощью функции Inc.
- Выводится значение
- Считывается значение элемента матрицы и сохраняется в переменную
- Для каждого значения
- Проверка переменной
k
:- Если значение переменной
k
равно 0, то выводится 0.
- Если значение переменной
- Завершение итерации:
- Происходит переход на новую строку после завершения вложенного цикла.
- Происходит вывод пустой строки.
- Конец выполнения программы.
- Завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д