29 lines
540 B
ObjectPascal
29 lines
540 B
ObjectPascal
program last_word;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
type TCharSet = set of Char;
|
|
|
|
function LastWord(const aPhrase: string; separators: TCharSet): String;
|
|
var L, p: integer;
|
|
begin
|
|
L := Length(aPhrase);
|
|
|
|
if (L=0) or (separators=[]) then Exit('');
|
|
|
|
for p := L downto 1 do
|
|
if not (aPhrase[p] in separators)
|
|
then
|
|
Result := aPhrase[p] + Result
|
|
else Break;
|
|
end;
|
|
|
|
var s: string;
|
|
begin
|
|
repeat
|
|
Write('Enter a phrase (or nothing to Quit): ');
|
|
ReadLn(s);
|
|
WriteLn('The last word of "', s, '" is: "', LastWord(s, [' ']), '"');
|
|
until (s='')
|
|
end.
|