Задача выполняется в виде программного проекта из двух модулей, в котором необходимо заранее использовать однонаправленные списки неизвестной длины.
Задача: Разработать чистую процедуру перемещения по тексту группа строк от Первой до последней строки после K-й строки. Значения First, Last, K устанавливаются во втором входном файле. Правильные данные - это ситуация, когда First≤Last, а K не принадлежит интервалу [First, Last]. Индикация Элемент списка - это строка.
Я ввел, вывел и получил элемент из списка. Но я не могу понять, как переставить предложения в тексте в соответствии с условиями задачи.
Код на github: введите здесь описание ссылки
source_process.f90
module Source_Process
use Environment
use Source_IO
implicit none
contains
recursive function get_element(current_element, number) result(element)
type(SourceLine), pointer, intent(in) :: current_element
type(SourceLine), pointer :: element
integer, intent(in) :: number
element => null()
if (associated(current_element)) then
if (number == 0) then
element => current_element
else
element => get_element(current_element%next, number - 1)
end if
end if
end function get_element
end module Source_process
Заранее благодарим за ответ.