Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
23
Task/Anagrams/SNOBOL4/anagrams.sno
Normal file
23
Task/Anagrams/SNOBOL4/anagrams.sno
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
* # Sort letters of word
|
||||
define('sortw(str)a,i,j') :(sortw_end)
|
||||
sortw a = array(size(str))
|
||||
sw1 i = i + 1; str len(1) . a<i> = :s(sw1)
|
||||
a = sort(a)
|
||||
sw2 j = j + 1; sortw = sortw a<j> :s(sw2)f(return)
|
||||
sortw_end
|
||||
|
||||
* # Count words in string
|
||||
define('countw(str)') :(countw_end)
|
||||
countw str break(' ') span(' ') = :f(return)
|
||||
countw = countw + 1 :(countw)
|
||||
countw_end
|
||||
|
||||
ana = table()
|
||||
L1 wrd = input :f(L2) ;* unixdict.txt from stdin
|
||||
sw = sortw(wrd); ana<sw> = ana<sw> wrd ' '
|
||||
cw = countw(ana<sw>); max = gt(cw,max) cw
|
||||
i = i + 1; terminal = eq(remdr(i,1000),0) wrd :(L1)
|
||||
L2 kv = convert(ana,'array')
|
||||
L3 j = j + 1; key = kv<j,1>; val = kv<j,2> :f(end)
|
||||
output = eq(countw(val),max) key ': ' val :(L3)
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue