N-grams: Difference between revisions

1,204 bytes added ,  1 month ago
Add BASIC
(Add Miranda)
(Add BASIC)
Line 203:
"T LI" 1
" LIV" 1</pre>
 
=={{header|BASIC}}==
<syntaxhighlight lang="basic">10 DEFINT A-Z
20 S$ = "LIVE AND LET LIVE"
30 FOR N=2 TO 4: GOSUB 100: NEXT N
40 END
100 REM PRINT N-GRAMS OF S$
105 PRINT USING "#-grams of '";N;: PRINT S$;"':"
110 DIM P$(LEN(S$)-N+1), C(LEN(S$)-N+1)
120 FD = 0
130 FOR I=1 TO LEN(S$)-N+1
140 PA$ = MID$(S$,I,N)
150 IF FD = 0 THEN 190
160 FOR J=1 TO FD
170 IF P$(J) = PA$ THEN C(J) = C(J)+1: GOTO 210
180 NEXT J
190 FD = FD+1
200 P$(FD) = PA$ : C(FD) = 1
210 NEXT I
220 FOR I=1 TO FD
230 PRINT "'";P$(I);"': ";C(I),
240 NEXT I
250 PRINT: PRINT
260 ERASE P$, C
270 RETURN</syntaxhighlight>
{{out}}
<pre>2 grams of 'LIVE AND LET LIVE':
'LI': 2 'IV': 2 'VE': 2 'E ': 1 ' A': 1
'AN': 1 'ND': 1 'D ': 1 ' L': 2 'LE': 1
'ET': 1 'T ': 1
 
3 grams of 'LIVE AND LET LIVE':
'LIV': 2 'IVE': 2 'VE ': 1 'E A': 1 ' AN': 1
'AND': 1 'ND ': 1 'D L': 1 ' LE': 1 'LET': 1
'ET ': 1 'T L': 1 ' LI': 1
 
4 grams of 'LIVE AND LET LIVE':
'LIVE': 2 'IVE ': 1 'VE A': 1 'E AN': 1 ' AND': 1
'AND ': 1 'ND L': 1 'D LE': 1 ' LET': 1 'LET ': 1
'ET L': 1 'T LI': 1 ' LIV': 1</pre>
 
=={{header|C}}==
2,115

edits