fork download
  1. program Wstawianie_x_na_koniec_isty_bez_glowy;
  2. type ptr=^el;
  3. el=record
  4. info: integer;
  5. next: ptr
  6. end;
  7. var i, x: integer;
  8. l, q, p:ptr; (*l-lista - wskaznik do pierwszego, elementu; q zm. pomocnicza*)
  9. znaleziony: boolean;
  10. begin
  11. readln(x);
  12. l:=nil; (* l=nil ozn. listÄ™ pusta*)
  13. i:=5;
  14. while i>0 do
  15. begin
  16. new(q);
  17. q^.next:=l;
  18. q^.info:=i; i:=i-1;
  19. l:=q
  20. end;
  21.  
  22. znaleziony := false;
  23. if (l <> nil) and (l^.info = x) then
  24. begin
  25. q := l;
  26. l := l^.next;
  27. dispose(q);
  28. znaleziony := true;
  29. end
  30. else
  31. begin
  32. p := l;
  33. while (p <> nil) and (p^.next <> nil) and (p^.next^.info <> x) do
  34. p := p^.next;
  35. if (p <> nil) and (p^.next <> nil) then
  36. begin
  37. q := p^.next;
  38. p^.next := q^.next;
  39. dispose(q);
  40. znaleziony := true;
  41. end;
  42. end;
  43.  
  44. q:=l; i:=1;
  45. while q<>nil do begin writeln(i,': ',q^.info); q:=q^.next; i:=i+1 end
  46. end.
Success #stdin #stdout 0.01s 5312KB
stdin
3
stdout
1: 1
2: 2
3: 4
4: 5