Longest common substring: Difference between revisions
Ada version
m (→Python :: Functional: Updated primitives) |
(Ada version) |
||
Line 38:
print(longest_common_substring(‘thisisatest’, ‘testing123testing’))</lang>
{{out}}
<pre>
test
</pre>
=={{header|Ada}}==
<lang Ada>with Ada.Text_Io;
procedure Longest_Common_Substring is
function Common (Left, Right: String) return String is
Com : array (Left'Range, Right'Range) of Natural := (others => (others => 0));
Longest : Natural := 0;
Last : Natural := 0;
begin
for L in Left'Range loop
for R in Right'Range loop
if Left (L) = Right (R) then
if L > Left'First and R > Right'First then
Com (L, R) := Com (L - 1, R - 1) + 1;
else
Com (L, R) := 1;
end if;
if Com (L, R) > Longest then
Longest := Com (L, R);
Last := L;
end if;
end if;
end loop;
end loop;
return Left (Last - Longest + 1 .. Last);
end Common;
begin
Ada.Text_Io.Put_Line (Common ("thisisatest", "testing123testing"));
end Longest_Common_Substring;</lang>
{{out}}
<pre>
|