Advertisement
Guest User

Untitled

a guest
Mar 24th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.73 KB | None | 0 0
  1. program Number_7;
  2. type Ukazatel=^Table;
  3.      Table=record
  4.         chifra:integer;
  5.         link:Ukazatel;
  6.      end;
  7.  
  8.  
  9.  
  10. procedure Dobavit(var p:Ukazatel);
  11. var q:Ukazatel;
  12. begin
  13.   q:=p;
  14.   while (q^.link<>nil)do q:=q^.link;
  15.   new (q^.link);
  16.   q:=q^.link;
  17.   Readln(q^.chifra);
  18.   q^.link:=nil;
  19.  
  20. end;
  21.  
  22. procedure UdalitPosl(var p:Ukazatel);
  23. var q:Ukazatel;
  24. begin
  25.   q:=p;
  26.   if (p<>nil) then begin
  27.     if (p^.link=nil) then p:=nil
  28.     else begin
  29.       while (q^.link^.link<>nil) do q:=q^.link;
  30.       q^.link:=nil;
  31.     end;
  32.   end
  33.   else p:=nil;
  34. end;
  35.  
  36. procedure UdalitPredPosl(var p:Ukazatel);
  37. var q,z:Ukazatel;
  38. begin
  39.   if (p<>nil) then begin
  40.     if (p^.link<>nil) then begin
  41.       if(p^.link^.link=nil) then p:=p^.link
  42.       else begin
  43.         q:=p;
  44.         while (q^.link^.link<>nil)do  q:=q^.link;
  45.         z:=p;
  46.         while(z^.link<>q)do z:=z^.link;
  47.         z^.link:=q^.link;
  48.       end;
  49.     end;
  50.   end;
  51. end;
  52.  
  53.  
  54. procedure Print( p:Ukazatel);
  55. var q:Ukazatel;
  56. begin
  57.   Writeln('Список');
  58.   q:=p;
  59.   while (q<>nil) do begin
  60.     Write(q^.chifra+' ');
  61.     q:=q^.link;
  62.   end;
  63.   writeln();
  64. end;
  65.  
  66. var head,p:Ukazatel;
  67. begin
  68.   new(head);
  69.   p:=head;
  70.   p^.chifra:=1;
  71.   new(p^.link);
  72.   p:=p^.link;
  73.   p^.chifra:=2;  
  74.   new(p^.link);
  75.   p:=p^.link;
  76.   p^.chifra:=3;
  77.   new(p^.link);
  78.   p:=p^.link;
  79.   p^.chifra:=4;
  80.   new(p^.link);
  81.   p:=p^.link;
  82.   p^.chifra:=5;
  83.   new(p^.link);
  84.   p:=p^.link;
  85.   p^.chifra:=6;
  86.   p^.link:=nil;
  87.  
  88.   print(head);
  89.   UdalitPredPosl(head);
  90.   print(head);
  91.   UdalitPosl(head);
  92.   print(head);print(head);
  93.   UdalitPredPosl(head);
  94.   print(head);
  95.   UdalitPosl(head);
  96.   print(head);print(head);
  97.   UdalitPredPosl(head);
  98.   print(head);
  99.   UdalitPosl(head);
  100.   print(head);
  101. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement