Advertisement
Guest User

Untitled

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