48 lines
1.3 KiB
Plaintext
48 lines
1.3 KiB
Plaintext
INSTALL @lib$ + "SORTLIB"
|
|
sort%=FN_sortinit(0, 0)
|
|
|
|
DIM Result$(127)
|
|
*LOWERCASE ON
|
|
F%=OPENIN(@dir$ + "unixdict.txt")
|
|
WHILE TRUE
|
|
W$=GET$#F%
|
|
IF W$ < "g" ELSE EXIT WHILE
|
|
IF LENW$ > 3 IF INSTR(W$, "o") == 0 THEN
|
|
D%=EVAL("&" + W$)
|
|
IF LENW$ == LEN(STR$~D%) THEN
|
|
REPEAT
|
|
E%=0
|
|
WHILE D% > 0 E%+=D% MOD 10 D%/=10 ENDWHILE
|
|
D%=E%
|
|
UNTIL D% < 10
|
|
Result$(C%)=STR$D% + W$
|
|
C%+=1
|
|
ENDIF
|
|
ENDIF
|
|
ENDWHILE
|
|
CLOSE#F%
|
|
|
|
CALL sort%, Result$(0)
|
|
PRINT "Root Word Base 10"
|
|
FOR I%=0 TO C% - 1
|
|
W$=MID$(Result$(I%), 2)
|
|
PRINT " " LEFT$(Result$(I%), 1) " " W$ TAB(13) EVAL("&" + W$)
|
|
E%=0
|
|
FOR J%=ASC"a" TO ASC"f"
|
|
IF INSTR(W$, CHR$J%) E%+=1
|
|
NEXT
|
|
IF E% > 3 THEN
|
|
Result$(I%)="z" + STR$LENResult$(I%) + W$ + LEFT$(Result$(I%), 1)
|
|
N%+=1
|
|
ENDIF
|
|
NEXT
|
|
PRINT "Total: ";C% '
|
|
|
|
CALL sort%, Result$(0)
|
|
PRINT "Root Word Base 10"
|
|
FOR I%=C% - 1 TO C% - N% STEP -1
|
|
W$=LEFT$(MID$(Result$(I%), 3))
|
|
PRINT " " RIGHT$(Result$(I%)) " " W$ TAB(13) EVAL("&" + W$)
|
|
NEXT
|
|
PRINT "Total: ";N%
|