Сформировать список из двух других по правилу - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Используя описание список = ^ звено звено = record элемент: тип элемента следующий список end Написать программу , которая формирует список L, включив в него по одному разу элементы, которые входят хотя бы в один из списков L1 и L2.

Решение задачи: «Сформировать список из двух других по правилу»

textual
Листинг программы
  1. type
  2.   tList = ^tLink;
  3.   tLink = record
  4.     N : Real;
  5.     X : tList;
  6.   end;
  7.  
  8. var
  9.   L, L1, L2, Cur, T, S : tList;
  10.   i : Integer;
  11. begin
  12.   L1 := nil;
  13.   L2 := nil;
  14.   L  := nil;
  15.  
  16.   Randomize;
  17.   for i := 1 to 20 do
  18.     begin
  19.       New(Cur); Cur^.N := Random(19) - 9; Cur^.X := L1; L1 := Cur;
  20.     end;
  21.   for i := 1 to 20 do
  22.     begin
  23.       New(Cur); Cur^.N := Random(19) - 9; Cur^.X := L2; L2 := Cur;
  24.     end;
  25.    
  26.   Write('L1 = '); Cur := L1; while Cur <> nil do begin Write(Cur^.N:3); Cur := Cur^.X; end; WriteLn;
  27.   Write('L2 = '); Cur := L2; while Cur <> nil do begin Write(Cur^.N:3); Cur := Cur^.X; end; WriteLn;
  28.  
  29.   Cur := L1;
  30.   while Cur <> nil do
  31.     begin
  32.       T := L; i := 0; while (T <> nil) and (i = 0) do if T^.N = Cur^.N then i := 1 else T := T^.X;
  33.       if i = 0 then begin New(T); T^.N := Cur^.N; T^.X := nil; if L = nil then L := T else S^.X := T; S := T; end;
  34.       Cur := Cur^.X;
  35.     end;
  36.  
  37.   Cur := L2;
  38.   while Cur <> nil do
  39.     begin
  40.       T := L; i := 0; while (T <> nil) and (i = 0) do if T^.N = Cur^.N then i := 1 else T := T^.X;
  41.       if i = 0 then begin New(T); T^.N := Cur^.N; T^.X := nil; if L = nil then L := T else S^.X := T; S := T; end;
  42.       Cur := Cur^.X;
  43.     end;
  44.  
  45.   Write(' L = '); Cur := L; while Cur <> nil do begin Write(Cur^.N:3); Cur := Cur^.X; end; WriteLn;
  46. end.

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

  1. Создается тип данных tList, который представляет собой указатель на структуру tLink. В структуре tLink есть два поля: целое число N и указатель на список X.
  2. Создаются три переменные типа tList: L, L1 и L2. Изначально все они равны нулю.
  3. Задается начальное значение для случайной генерации чисел от 1 до 19.
  4. Запускается цикл, который повторяется 20 раз. В каждой итерации цикла создается новый объект tLink и присваивается одной из переменных L, L1 или L2. Значение N в новом объекте генерируется случайным образом от 1 до 19. Значение X в новом объекте устанавливается равным значению переменной, которая была использована для создания нового объекта.
  5. После завершения каждой итерации цикла, значения переменных L, L1 и L2 обновляются, чтобы отразить добавление нового объекта в список.
  6. В конце программы выводятся значения переменных L, L1 и L2.

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


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

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

14   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы