Опишите процедуру ЗАМЕНА (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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д