Words from neighbour ones: Difference between revisions

Added Delphi example
(Added Java solution)
(Added Delphi example)
Line 243:
24. transpose
</pre>
=={{header|Delphi}}==
{{libheader| System.SysUtils}}
{{libheader| System.Classes}}
{{Trans|Java}}
<lang Delphi>
program Words_from_neighbour_ones;
 
{$APPTYPE CONSOLE}
 
uses
System.SysUtils,
System.Classes;
 
function GetWords(minLength: Integer = 1): TStringList;
var
i: Integer;
begin
Result := TStringList.create;
Result.LoadFromFile('Unixdict.txt');
with Result do
for i := Count - 1 downto 0 do
if Strings[i].Length < minLength then
Delete(i);
Result.Sort;
end;
 
var
Words: TStringList;
 
const
minLength = 9;
 
begin
Words := GetWords(minLength);
var previousWord := '';
var count := 0;
var n := Words.Count;
 
for var i := 0 to n - minLength do
begin
 
var W := '';
for var j := 0 to minLength - 1 do
W := W + Words[i + j][j + 1];
if W.Equals(previousWord) then
Continue;
if Words.IndexOf(W) >= 0 then
begin
inc(count);
writeln(count: 2, '. ', W);
end;
previousWord := W;
end;
 
Words.Free;
readln;
end.</lang>
{{out}}
<pre> 1. applicate
2. architect
3. astronomy
4. christine
5. christoph
6. committee
7. composite
8. constrict
9. construct
10. different
11. extensive
12. greenwood
13. implement
14. improvise
15. intercept
16. interpret
17. interrupt
18. philosoph
19. prescript
20. receptive
21. telephone
22. transcend
23. transport
24. transpose</pre>
 
=={{header|F_Sharp|F#}}==
478

edits