Changeable words: Difference between revisions
Content added Content deleted
m (Restored 'congresswoman', 'councilwoman' etc. - see Talk Page.) |
No edit summary |
||
Line 1,050: | Line 1,050: | ||
upperclassman ---> upperclassmen |
upperclassman ---> upperclassmen |
||
upperclassmen ---> upperclassman</pre> |
upperclassmen ---> upperclassman</pre> |
||
=={{header|FreePascal}}== |
|||
<syntaxhighlight lang="pascal">{$mode ObjFPC}{$H+} |
|||
uses |
|||
Classes, SysUtils; |
|||
const |
|||
FNAME = 'unixdict.txt'; |
|||
function OneCharDifference(s1, s2: string): boolean; |
|||
var |
|||
i, diffCount: integer; |
|||
begin |
|||
diffCount := 0; |
|||
if Length(s1) <> Length(s2) then |
|||
Exit(false); |
|||
for i := 1 to Length(s1) do |
|||
begin |
|||
if s1[i] <> s2[i] then |
|||
Inc(diffCount); |
|||
if diffCount > 1 then |
|||
Exit(false); |
|||
end; |
|||
Result := diffCount = 1; |
|||
end; |
|||
procedure PurgeList(var list: TStringList); |
|||
{ Remove every word that doesn't have at least 12 characters } |
|||
var |
|||
i: Integer; |
|||
begin |
|||
for i := Pred(list.Count) downto 0 do |
|||
if Length(list[i]) < 12 then |
|||
list.Delete(i); |
|||
end; |
|||
var |
|||
list: TStringList; |
|||
i, j: Integer; |
|||
begin |
|||
list := TStringList.Create; |
|||
try |
|||
list.LoadFromFile(FNAME); |
|||
PurgeList(list); |
|||
for i := 0 to list.Count - 2 do |
|||
for j := i + 1 to list.Count - 1 do |
|||
if OneCharDifference(list[i], list[j]) then |
|||
writeln(list[i]:15, ' <-> ', list[j]); |
|||
finally |
|||
list.Free; |
|||
end; |
|||
end. |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
aristotelean <-> aristotelian |
|||
claustrophobia <-> claustrophobic |
|||
committeeman <-> committeemen |
|||
committeewoman <-> committeewomen |
|||
complementary <-> complimentary |
|||
confirmation <-> conformation |
|||
congresswoman <-> congresswomen |
|||
councilwoman <-> councilwomen |
|||
craftsperson <-> draftsperson |
|||
eavesdropped <-> eavesdropper |
|||
frontiersman <-> frontiersmen |
|||
handicraftsman <-> handicraftsmen |
|||
incommutable <-> incomputable |
|||
installation <-> instillation |
|||
kaleidescope <-> kaleidoscope |
|||
neuroanatomy <-> neuroanotomy |
|||
newspaperman <-> newspapermen |
|||
nonagenarian <-> nonogenarian |
|||
onomatopoeia <-> onomatopoeic |
|||
philanthrope <-> philanthropy |
|||
prescription <-> proscription |
|||
schizophrenia <-> schizophrenic |
|||
shakespearean <-> shakespearian |
|||
spectroscope <-> spectroscopy |
|||
underclassman <-> underclassmen |
|||
upperclassman <-> upperclassmen |
|||
</pre> |
|||
=={{header|FutureBasic}}== |
=={{header|FutureBasic}}== |