Опишите процедуру ЗАМЕНА (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.

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

  1. Тип данных tList определен как указатель на структуру tList, которая содержит строку S и указатель на следующий элемент списка Next.
  2. Процедура ListAdd добавляет новый элемент в список. Если список пуст, то создается новый элемент и он становится первым в списке. Если список уже содержит элементы, то ищется последний элемент, к которому добавляется новый.
  3. Процедура InputStrings запрашивает у пользователя ввод строк до тех пор, пока не будет введена пустая строка. Введенные строки добавляются в список с помощью процедуры ListAdd.
  4. Процедура OutputStrings выводит список, перебирая все его элементы и выводя значение каждого элемента (строку).
  5. В основной части программы создается пустой список List, затем с помощью процедуры InputStrings заполняется строками, а затем выводится на экран с помощью процедуры OutputStrings.

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


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

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

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