Odd word problem: Difference between revisions

Content added Content deleted
(Added Delphi example)
Line 622: Line 622:
<pre>what,is,the;meaning,of:life.
<pre>what,is,the;meaning,of:life.
what,si,the;gninaem,of:efil.</pre>
what,si,the;gninaem,of:efil.</pre>
=={{header|Delphi}}==
{{libheader| System.SysUtils}}
{{libheader| System.Console}}
{{libheader| System.Character}}
{{Trans|D}}
<lang Delphi>
program Odd_word_problem;

{$APPTYPE CONSOLE}

uses
System.SysUtils,
System.Console,
System.Character;

function doChar(isOdd: boolean; f: TProc = nil): Boolean;
begin
var c: char := Console.ReadKey(True).KeyChar;

if not isOdd then
Write(c);

if c.IsLetter then
exit(doChar(isOdd,
procedure
begin
Write(c);
if assigned(f) then
f();
end));

if isOdd then
begin
if Assigned(f) then
f();
write(c);
end;

exit(c <> '.');

end;

begin
var i: boolean := false;
while doChar(i) do
i := not i;
readln;
end.</lang>


=={{header|EchoLisp}}==
=={{header|EchoLisp}}==