Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program coada;
- type lista = ^nod;
- nod = record
- nr : longint;
- adr : lista;
- end;
- var
- s, c : lista;
- f : text;
- n, i : longint;
- procedure adauga_stiva (var s:lista; n:longint);
- var p:lista;
- begin
- new (p);
- p^.nr := n;
- p^.adr := s;
- s := p;
- end;
- procedure adauga_coada (var c:lista; n:longint);
- var p,q:lista;
- begin
- new (p);
- p^.nr := n;
- p^.adr := nil;
- if c=nil then
- c := p
- else
- begin
- q := c;
- while q^.adr <> nil do
- q := q^.adr;
- q^.adr := p;
- end;
- end;
- procedure afisare (p:lista);
- begin
- while p<>nil do
- begin
- write (p^.nr,' ');
- p := p^.adr;
- end;
- writeln();
- end;
- procedure sterge (var p:lista);
- var q:lista;
- begin
- if p<>nil then
- begin
- q := p;
- p := p^.adr;
- dispose (q);
- end;
- end;
- begin {pp}
- assign (f, 'numere.txt');
- reset (f);
- s:=nil;
- while not (eof(f)) do
- begin
- read (f, n);
- if n mod 2 = 1 then
- adauga_stiva (s, n)
- else
- adauga_coada (c, n);
- end;
- adauga_stiva (s, 100);
- adauga_coada (c, 100);
- afisare (s);
- afisare (c);
- for i:=1 to 3 do
- begin
- sterge (s);
- sterge (c);
- end;
- afisare (s);
- afisare (c);
- close (f);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement