Guest User

Untitled

a guest
May 27th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. type
  2. plist=^tlist;
  3. tlist=record
  4. data:integer;
  5. next:plist;
  6. end;
  7. var
  8. l:plist;
  9. procedure add(var l:plist; x:integer);
  10. var
  11. n:plist;
  12. begin
  13. new(n);
  14. n^.data:=x;
  15. n^.next:=l;
  16. l:=n;
  17. end;
  18. procedure print(l:plist);
  19. begin
  20. if l=nil then
  21. exit;
  22. write(l^.data, ' ');
  23. print(l^.next);
  24. end;
  25. function mult(l:plist):integer;
  26. begin
  27. if l = nil then
  28. begin
  29. result:=1;
  30. exit;
  31. end;
  32. result:=l^.data*mult(l^.next);
  33. end;
  34. function odd(l:plist):integer;
  35. begin
  36. if l = nil then
  37. begin
  38. result:=0;
  39. exit;
  40. end;
  41. if (l^.data mod 2 = 0) then
  42. begin
  43. result:=odd(l^.next)+1;
  44. end
  45. else
  46. begin
  47. result:=odd(l^.next);
  48. end;
  49. end;
  50.  
  51. begin
  52.  
  53. l:=nil;
  54. add(l, 9);
  55. add(l, 3);
  56. add(l, 2);
  57. print(l);
  58. writeln(mult(l));
  59. writeln(odd(l));
  60. readln;
  61. end.
Add Comment
Please, Sign In to add comment