Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
|
|
@ -0,0 +1,49 @@
|
|||
include "ConsoleWindow"
|
||||
|
||||
local fn LevenshteinDistance( aStr as Str255, bStr as Str255 ) as long
|
||||
dim as long m, n, i, j, min, k, l
|
||||
dim as long distance( 255, 255 )
|
||||
|
||||
m = len(aStr)
|
||||
n = len(bStr)
|
||||
|
||||
for i = 0 to m
|
||||
distance( i, 0 ) = i
|
||||
next
|
||||
|
||||
for j = 0 to n
|
||||
distance( 0, j ) = j
|
||||
next
|
||||
|
||||
for j = 1 to n
|
||||
for i = 1 to m
|
||||
if mid$( aStr, i, 1 ) == mid$( bStr, j, 1 )
|
||||
distance( i, j ) = distance( i-1, j-1 )
|
||||
else
|
||||
min = distance( i-1, j ) + 1
|
||||
k = distance( i, j - 1 ) + 1
|
||||
l = distance( i-1, j-1 ) + 1
|
||||
if k < min then min = k
|
||||
if l < min then min = l
|
||||
distance( i, j ) = min
|
||||
end if
|
||||
next
|
||||
next
|
||||
end fn = distance( m, n )
|
||||
|
||||
dim as long i
|
||||
dim as Str255 testStr( 5, 2 )
|
||||
|
||||
testStr( 0, 0 ) = "kitten" : testStr( 0, 1 ) = "sitting"
|
||||
testStr( 1, 0 ) = "rosettacode" : testStr( 1, 1 ) = "raisethysword"
|
||||
testStr( 2, 0 ) = "Saturday" : testStr( 2, 1 ) = "Sunday"
|
||||
testStr( 3, 0 ) = "FutureBasic" : testStr( 3, 1 ) = "FutureBasic"
|
||||
testStr( 4, 0 ) = "here's a bunch of words"
|
||||
testStr( 4, 1 ) = "to wring out this code"
|
||||
|
||||
for i = 0 to 4
|
||||
print "1st string = "; testStr( i, 0 )
|
||||
print "2nd string = "; testStr( i, 1 )
|
||||
print "Levenshtein distance ="; fn LevenshteinDistance( testStr( i, 0 ), testStr( i, 1 ) )
|
||||
print
|
||||
next
|
||||
Loading…
Add table
Add a link
Reference in a new issue