Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program RK3;
- type rk = ^element;
- element = record
- str :string;
- p :rk;
- end;
- procedure view(first :rk);
- var f :rk;
- begin
- writeln('List:');
- f := first;
- while f <> nil do
- begin
- writeln(f^.str);
- f := f^.p;
- end;
- end;
- var
- first, f, q, n, d:rk;
- a :string;
- k, k1, i :integer;
- begin
- k := 1;
- readln(a);
- new(first);
- first^.str := a;
- first^.p := nil;
- readln(a);
- while a <> 'stop' do
- begin
- new(q);
- q^.str := a;
- q^.p := first;
- first := q;
- readln(a);
- inc(k);
- end;
- k1 := k;
- writeln(#10, '1:');
- view(first);
- f := first;
- for i := 1 to k do
- begin
- if (i <> k) and ((i mod 2) = 1) then
- begin
- n := f^.p;
- new(q);
- q^.str := '#';
- q^.p := n;
- f^.p := q;
- f := f^.p;
- inc(k1);
- end;
- f := f^.p;
- end;
- writeln(#10, '2:');
- view(first);
- readln();
- while k1 <> 1 do
- begin
- d := first^.p;
- Dispose(first);
- first := d;
- k1 := k1-1;
- end;
- Dispose(first);
- first := nil;
- writeln('Dynamic memory has been cleaned!');
- readln();
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement