Списки смежности из матрицы - 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.

Объяснение кода листинга программы

  1. Объявление переменных:
    • n - целочисленная переменная, содержащая количество элементов в списке.
    • i - целочисленная переменная, используемая в цикле для обхода элементов.
    • j - целочисленная переменная, используемая во вложенном цикле для обхода элементов.
    • k - целочисленная переменная, содержащая количество ненулевых элементов в строке.
    • a - целочисленная переменная, содержащая значение элемента матрицы.
  2. Ввод данных:
    • Вводится значение переменной n с помощью функции ReadLn.
  3. Цикл:
    • Для каждого значения i от 1 до n выполняются следующие действия:
  4. Инициализация переменной k:
    • Переменная k устанавливается в 0.
  5. Вложенный цикл:
    • Для каждого значения j от 1 до n выполняются следующие действия:
      • Считывается значение элемента матрицы и сохраняется в переменную a.
      • Если a не равно 0, то выполняются следующие действия:
        • Выводится значение j, представляющее индекс ненулевого элемента.
        • Переменная k увеличивается на 1 с помощью функции Inc.
  6. Проверка переменной k:
    • Если значение переменной k равно 0, то выводится 0.
  7. Завершение итерации:
    • Происходит переход на новую строку после завершения вложенного цикла.
    • Происходит вывод пустой строки.
  8. Конец выполнения программы.
    • Завершение программы.

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


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

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

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