Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Number_7;
- type Ukazatel=^Table;
- Table=record
- chifra:integer;
- link:Ukazatel;
- end;
- procedure Dobavit(var p:Ukazatel);
- var q:Ukazatel;
- begin
- q:=p;
- while (q^.link<>nil)do q:=q^.link;
- new (q^.link);
- q:=q^.link;
- Readln(q^.chifra);
- q^.link:=nil;
- end;
- procedure UdalitPosl(var p:Ukazatel);
- var q:Ukazatel;
- begin
- q:=p;
- if (p<>nil) then begin
- if (p^.link=nil) then p:=nil
- else begin
- while (q^.link^.link<>nil) do q:=q^.link;
- q^.link:=nil;
- end;
- end
- else p:=nil;
- end;
- procedure UdalitPredPosl(var p:Ukazatel);
- var q,z:Ukazatel;
- begin
- if (p<>nil) then begin
- if (p^.link<>nil) then begin
- if(p^.link^.link=nil) then p:=p^.link
- else begin
- q:=p;
- while (q^.link^.link<>nil)do q:=q^.link;
- z:=p;
- while(z^.link<>q)do z:=z^.link;
- z^.link:=q^.link;
- end;
- end;
- end;
- end;
- procedure Print( p:Ukazatel);
- var q:Ukazatel;
- begin
- Writeln('Список');
- q:=p;
- while (q<>nil) do begin
- Write(q^.chifra+' ');
- q:=q^.link;
- end;
- writeln();
- end;
- var head,p:Ukazatel;
- begin
- new(head);
- p:=head;
- p^.chifra:=1;
- new(p^.link);
- p:=p^.link;
- p^.chifra:=2;
- new(p^.link);
- p:=p^.link;
- p^.chifra:=3;
- new(p^.link);
- p:=p^.link;
- p^.chifra:=4;
- new(p^.link);
- p:=p^.link;
- p^.chifra:=5;
- new(p^.link);
- p:=p^.link;
- p^.chifra:=6;
- p^.link:=nil;
- print(head);
- UdalitPredPosl(head);
- print(head);
- UdalitPosl(head);
- print(head);print(head);
- UdalitPredPosl(head);
- print(head);
- UdalitPosl(head);
- print(head);print(head);
- UdalitPredPosl(head);
- print(head);
- UdalitPosl(head);
- print(head);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement