Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- plist=^tlist;
- tlist=record
- data:integer;
- next:plist;
- end;
- var
- l:plist;
- procedure add(var l:plist; x:integer);
- var
- n:plist;
- begin
- new(n);
- n^.data:=x;
- n^.next:=l;
- l:=n;
- end;
- procedure print(l:plist);
- begin
- if l=nil then
- exit;
- write(l^.data, ' ');
- print(l^.next);
- end;
- function mult(l:plist):integer;
- begin
- if l = nil then
- begin
- result:=1;
- exit;
- end;
- result:=l^.data*mult(l^.next);
- end;
- function odd(l:plist):integer;
- begin
- if l = nil then
- begin
- result:=0;
- exit;
- end;
- if (l^.data mod 2 = 0) then
- begin
- result:=odd(l^.next)+1;
- end
- else
- begin
- result:=odd(l^.next);
- end;
- end;
- begin
- l:=nil;
- add(l, 9);
- add(l, 3);
- add(l, 2);
- print(l);
- writeln(mult(l));
- writeln(odd(l));
- readln;
- end.
Add Comment
Please, Sign In to add comment