Опишите процедуру ЗАМЕНА (L , i , j) - PascalABC.NET
Формулировка задачи:
Используйте представление последовательности строк в виде линейного списка и опишите процедуру ЗАМЕНА (L , i , j), заменяющую i- ю строку списка L на копию j- й строки .
Help me. Please.
Решение задачи: «Опишите процедуру ЗАМЕНА (L , i , j)»
textual
Листинг программы
type tList = ^rList; rList = record S : String; Next : tList; end; // Процедура добавления нового элемента к списку procedure ListAdd(var List : tList; S : String); var tmp : tList; begin if List = nil then // Добавляем первый begin New(List); List^.S := S; List^.Next := nil; end else // Добавляем в конец списка begin // Идём к последнему элементу списка tmp := List; while tmp^.Next <> nil do tmp := tmp^.Next; // Добавляем новый New(tmp^.Next); tmp := tmp^.Next; tmp^.S := S; tmp^.Next := nil; end; end; // Процедура ввода строк procedure InputStrings(var List : tList); var S : String; begin WriteLn('Ввод пустой строки означает окончание ввода.'); WriteLn('Вводите текст:'); repeat ReadLn(S); if S <> '' then ListAdd(List, S); until S = ''; WriteLn('Ввод текста окончен.'); end; // Вывод списка procedure OutputStrings(msg : String; List : tList); begin WriteLn(msg); while List <> nil do begin WriteLn(List^.S); List := List^.Next; end; end; var List : tList; begin List := nil; InputStrings(List); OutputStrings('Введён следующий текст:', List); end.
Объяснение кода листинга программы
- Тип данных tList определен как указатель на структуру tList, которая содержит строку S и указатель на следующий элемент списка Next.
- Процедура ListAdd добавляет новый элемент в список. Если список пуст, то создается новый элемент и он становится первым в списке. Если список уже содержит элементы, то ищется последний элемент, к которому добавляется новый.
- Процедура InputStrings запрашивает у пользователя ввод строк до тех пор, пока не будет введена пустая строка. Введенные строки добавляются в список с помощью процедуры ListAdd.
- Процедура OutputStrings выводит список, перебирая все его элементы и выводя значение каждого элемента (строку).
- В основной части программы создается пустой список List, затем с помощью процедуры InputStrings заполняется строками, а затем выводится на экран с помощью процедуры OutputStrings.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д