Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. type
  2. ff = file of string;
  3. PNode = ^Node;
  4. Node = record
  5. data: string;
  6. next: PNode;
  7. end;
  8.  
  9. var f1, f2: ff; head: PNode; again: boolean=true; count: integer=0; ww:integer; ss: string;
  10. procedure Init();{инициализация списка}
  11. begin
  12. head:=nil;
  13. end;
  14. procedure Add(s: string);{заполнение списка}
  15. var NewNode: PNode;
  16. begin
  17. new(NewNode);
  18. NewNode^.data:=s;
  19. NewNode^.next:=head;
  20. head:=NewNode;
  21. end;
  22. procedure List_filling(var f: ff);{обработка переменных из файла}
  23. var s: string;
  24. begin
  25. while not eof(f) do
  26. begin
  27. read(f,s);
  28. count:=count+1;
  29. Add(s);
  30. end;
  31. end;
  32. procedure Print();{вывод элементов списка на экран}
  33. var curr: PNode; s, space, value: string;
  34. begin
  35. space:=' ';
  36. curr:=head;
  37. s:='';
  38. while curr <> nil do
  39. begin
  40. value:=curr^.data;
  41. s:= value + space + s;
  42. curr:=curr^.next;
  43. end;
  44. writeln(s);
  45. end;
  46. procedure without_repetition();{удаляются одинаковые слова}
  47. var curr1, curr2, before: Pnode; s3:string;
  48. begin
  49. curr1:=head;
  50. curr2:=head;
  51. while curr1 <> nil do
  52. begin
  53. before:=nil;
  54. before:=curr1;
  55. curr2:=curr1^.next;
  56. while curr2 <> nil do
  57. begin
  58. if (curr1^.data=curr2^.data) then
  59. begin
  60. before^.next:=before^.next^.next;
  61. dispose(curr2);
  62. curr2:=before^.next;
  63. end
  64. else
  65. begin
  66. curr2:=curr2^.next;
  67. before:=before^.next;
  68. end;
  69. end;
  70. curr1:=curr1^.next;
  71. end;
  72. end;
  73. begin
  74. assign(f1,'Strange_worlds');
  75. rewrite(f1);
  76. for ww:=0 to 9 do
  77. begin
  78. read(ss);
  79. write(f1,ss);
  80. end;
  81. assign(f2,'Optimum_result');
  82. reset(f1);
  83. Init();
  84. List_filling(f1);
  85. Print();
  86. without_repetition();
  87. Print();
  88.  
  89. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement