词频统计程序 2

 

'词频统计程序 2
'2019-01-17
' VB6 程序 编译 成功


Private Sub Command5_Click()

N = 3
Print N
f_Yuan = mp + "02.txt"
f_Out_N = mp + "02_3.txt"
Call ZhengLi_N_ZiCi(f_Yuan, f_Out_N, N)
Call PaiXu
Call WriteCiShu(mp + "02_3_p.txt")

f_Yuan = mp + "02_3_p.txt"
f_Out = mp + "02_3_p2.txt"
Call DanCiQuChong(f_Yuan, f_Out)

Call ReadCiShu(mp + "02_3_p2.txt")
Call PaiXu
Call WriteCiShu(mp + "02_3_p3.txt")
End Sub

Private Sub Command6_Click()

N = 3
For ii = 2 To 12
N = ii
Print N
Form1.Caption = N
sn = Mid(Str(N), 2, 3)
f_Yuan = mp + "02.txt"
f_Out_N = mp + "02_" + sn + ".txt"
Call ZhengLi_N_ZiCi(f_Yuan, f_Out_N, N)
Call PaiXu
Call WriteCiShu(mp + "02_" + sn + "_p.txt")

f_Yuan = mp + "02_" + sn + "_p.txt"
f_Out = mp + "02_" + sn + "_p2.txt"
Call DanCiQuChong(f_Yuan, f_Out)

Call ReadCiShu(mp + "02_" + sn + "_p2.txt")
Call PaiXu
Call WriteCiShu(mp + "p\02_" + sn + "_p3.txt")
Next ii
End Sub

Private Sub Form_Load()
mp = "C:\vb\a53\cp\"
End Sub

' 以下为 cp1.bas 文件


Public mp
Public c(10000)  '词空间
Public j

 


Sub DanCiQuChong(f_Yuan, f_Out)     '单词 去重复
'Cls
Open f_Out For Output As 2
Open f_Yuan For Input As 1


u = ""
ul = 0

While Not EOF(1)
Input #1, e
If u = e Then
'u = e
'ul = ul + 1

Else
'Print u, ul

nn = 5
ull = Len(u)

s = Mid(Str(ul), 2, 9)
ull = Len(s)

For q = 1 To nn - ull
s = "0" + s
Next q

Print #2, "@" + s + "@" + u

u = ""
ul = 0
End If
u = e
ul = ul + 1

'Print #2, e + "@" + Mid(Str(ul), 2, 9)
'Print #2, e + "@" + ul

Wend
Close 1
Close 2
End Sub

Sub ZhengLi_N_ZiCi(f_Yuan, f_Out_N, N)

Open f_Out_N For Output As 2
Open f_Yuan For Input As 1       '整理 2 字词
j = 0
While Not EOF(1)
Input #1, e

el = Len(Trim(e))
If el > 2 Then
'Print e

For i = 1 To el - 1
e2 = Mid(e, i, N)

c(j) = e2
Print #2, e2, Str(j)

j = j + 1
Next i

End If

Wend
Close 1
Close 2

End Sub

Sub ReadCiShu(FileName)  '取文件 词数

Open FileName For Input As 1
j = 0
While Not EOF(1)
Input #1, e

c(j) = e
j = j + 1

Wend
Close 1
'Close 2
Form1.Print j
'Print j '排序
End Sub

Sub PaiXu()

Form1.Print j '排序
For i = 1 To j - 1
  For k = 1 To j - i
     If c(k) >= c(k + 1) Then
      t = c(k + 1)
      c(k + 1) = c(k)
      c(k) = t
      End If
    Next k
 Next i


End Sub

Sub WriteCiShu(FileName)
Open FileName For Output As 2 '写入文件 词
For i = 1 To j
'Print c(i)
Print #2, c(i) ', Str(i)
Next i
Close 2
End Sub

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值