Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- ff = file of string;
- PNode = ^Node;
- Node = record
- data: string;
- next: PNode;
- end;
- var f1, f2: ff; head: PNode; again: boolean=true; count: integer=0; ww:integer; ss: string;
- procedure Init();{инициализация списка}
- begin
- head:=nil;
- end;
- procedure Add(s: string);{заполнение списка}
- var NewNode: PNode;
- begin
- new(NewNode);
- NewNode^.data:=s;
- NewNode^.next:=head;
- head:=NewNode;
- end;
- procedure List_filling(var f: ff);{обработка переменных из файла}
- var s: string;
- begin
- while not eof(f) do
- begin
- read(f,s);
- count:=count+1;
- Add(s);
- end;
- end;
- procedure Print();{вывод элементов списка на экран}
- var curr: PNode; s, space, value: string;
- begin
- space:=' ';
- curr:=head;
- s:='';
- while curr <> nil do
- begin
- value:=curr^.data;
- s:= value + space + s;
- curr:=curr^.next;
- end;
- writeln(s);
- end;
- procedure without_repetition();{удаляются одинаковые слова}
- var curr1, curr2, before: Pnode; s3:string;
- begin
- curr1:=head;
- curr2:=head;
- while curr1 <> nil do
- begin
- before:=nil;
- before:=curr1;
- curr2:=curr1^.next;
- while curr2 <> nil do
- begin
- if (curr1^.data=curr2^.data) then
- begin
- before^.next:=before^.next^.next;
- dispose(curr2);
- curr2:=before^.next;
- end
- else
- begin
- curr2:=curr2^.next;
- before:=before^.next;
- end;
- end;
- curr1:=curr1^.next;
- end;
- end;
- begin
- assign(f1,'Strange_worlds');
- rewrite(f1);
- for ww:=0 to 9 do
- begin
- read(ss);
- write(f1,ss);
- end;
- assign(f2,'Optimum_result');
- reset(f1);
- Init();
- List_filling(f1);
- Print();
- without_repetition();
- Print();
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement