false = 0 = 1 true = 1 = 1 DIM array(26, 150) AS STRING DIM max(26) AS INTEGER CLS PRINT PRINT "This file alphabetizes all the words listed in their vocab file." PRINT "Enter character name you wish to alphabetize" PRINT "or press Enter to use charfile" INPUT "or type 'everyone' to alphabetize entire movie file: ", name$ IF name$ = "everyone" THEN GOTO d IF name$ <> "" THEN GOTO a OPEN "i", 3, "charfile.dat" b: IF NOT EOF(3) THEN INPUT #3, charname$: name$ = charname$: IF name$ = "" THEN GOTO c a: OPEN "i", 1, name$ + ".out" OPEN "o", 2, name$ + ".doc" PRINT "Alphabetizing character: "; name$ REM a=97 z=122 DO IF NOT EOF(1) THEN INPUT #1, word$ IF word$ <> "" THEN letter$ = LEFT$(word$, 1) letter = ASC(letter$) IF letter$ = "'" THEN array(0, max(0)) = word$ max(0) = max(0) + 1 ELSE array(letter - 96, max(letter - 96)) = word$ max(letter - 96) = max(letter - 96) + 1 END IF END IF LOOP UNTIL EOF(1) CLOSE #1 REM now alphabetize them DO sorted = true FOR x = 0 TO 26 FOR y = 0 TO max(x) - 1 IF array(x, y) > array(x, y + 1) THEN sorted = false temp$ = array(x, y) array(x, y) = array(x, y + 1) array(x, y + 1) = temp$ END IF NEXT y NEXT x LOOP UNTIL sorted = true FOR x = 0 TO 26 FOR y = 0 TO max(x) IF array(x, y) <> "" AND array(x, y) <> CHR$(13) THEN PRINT #2, array(x, y) NEXT y NEXT x CLOSE #2 IF charname$ = "" THEN GOTO c ELSE IF NOT EOF(3) THEN PRINT "Reinitializing array" FOR t = 0 TO 26 FOR y = 0 TO max(t) array(t, y) = "" NEXT y max(t) = 0 NEXT t END IF END IF GOTO b c: CLOSE #3 END d: REM 97-122 = a-z ERASE array ERASE max OPEN "a", 2, "everyone.doc" DIM words(1500) AS STRING count = 0 FOR char = 39 TO 122 OPEN "i", 1, "everyone.out" PRINT "Inputing data for array '"; CHR$(char); "'" DO IF NOT EOF(1) THEN INPUT #1, word$ letter$ = LEFT$(word$, 1) IF letter$ = CHR$(char) THEN words(count) = word$ count = count + 1 END IF LOOP UNTIL EOF(1) CLOSE #1 PRINT count; " words beginning with letter "; CHR$(char) PRINT "Sorting array '"; CHR$(char); "'" DO sorted = true FOR x = 0 TO count - 1 IF words(x) > words(x + 1) THEN sorted = false temp$ = words(x) words(x) = words(x + 1) words(x + 1) = temp$ END IF NEXT x LOOP UNTIL sorted = true PRINT "Writing alphabetized array letter '"; CHR$(char); "' to movie file." FOR x = 0 TO count IF words(x) <> "" THEN PRINT #2, words(x) words(x) = "" NEXT x count = 0 IF char = 39 THEN char = 96 NEXT char CLOSE #2