Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.22 KB | None | 0 0
  1. program coada;
  2. type lista = ^nod;
  3.     nod = record
  4.         nr : longint;
  5.         adr : lista;
  6.     end;
  7. var
  8.     s, c : lista;
  9.     f : text;
  10.     n, i : longint;
  11.  
  12. procedure adauga_stiva (var s:lista; n:longint);
  13. var p:lista;
  14. begin
  15.     new (p);
  16.     p^.nr := n;
  17.     p^.adr := s;
  18.     s := p;
  19. end;
  20.  
  21. procedure adauga_coada (var c:lista; n:longint);
  22. var p,q:lista;
  23. begin
  24.     new (p);
  25.     p^.nr := n;
  26.     p^.adr := nil;
  27.     if c=nil then
  28.         c := p
  29.     else
  30.     begin
  31.         q := c;
  32.         while q^.adr <> nil do
  33.             q := q^.adr;
  34.         q^.adr := p;
  35.     end;                                                  
  36. end;
  37.  
  38. procedure afisare (p:lista);
  39. begin
  40.     while p<>nil do
  41.     begin
  42.         write (p^.nr,' ');
  43.         p := p^.adr;
  44.     end;
  45.     writeln();
  46. end;
  47.  
  48. procedure sterge (var p:lista);
  49. var q:lista;
  50. begin
  51.     if p<>nil then
  52.     begin
  53.         q := p;
  54.         p := p^.adr;
  55.         dispose (q);
  56.     end;
  57. end;
  58.  
  59.  
  60. begin {pp}
  61.     assign (f, 'numere.txt');
  62.     reset (f);
  63.    
  64.     s:=nil;
  65.     while not (eof(f)) do
  66.     begin
  67.         read (f, n);
  68.         if n mod 2 = 1 then
  69.             adauga_stiva (s, n)
  70.         else
  71.             adauga_coada (c, n);
  72.     end;   
  73.    
  74.     adauga_stiva (s, 100);
  75.     adauga_coada (c, 100); 
  76.    
  77.     afisare (s);
  78.     afisare (c);
  79.        
  80.     for i:=1 to 3 do
  81.     begin  
  82.         sterge (s);
  83.         sterge (c);
  84.     end;   
  85.    
  86.     afisare (s);
  87.     afisare (c);
  88.  
  89.     close (f);
  90. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement