数组元素 |
数组元素的含义 |
a(i) |
a(1)到a( 10)依次存储1号顾客购买商品1~商品10的记录: a(11)至a(20)依次存储2号顾客购买商品1~商品10的记录;依次类推。 数组a的某个元素的值为1,则表示某位顾客购买了某种商品,若为0则表示没有购买 该种商品。如a(6)=1表示1号顾客购买了商品6,a(6)=0表示未购买。 |
dsj(i) |
dsj(1)~dsj(9)依次存储商品1与商品2~商品10的关联次数; dsj(10)~dsj(17)依次存储商品2与商品3~商品10的关联次数;依次类推。 如dsj(5)=2表示商品1与商品6被同时购买过2次; 如dsj(45)=4表示商品9与商品10被同时购买过4次。. 数组dsj中,若dsj(45)的值最大,则表示商品9和商品10 的关联次数最多。 |
小王按照上述算法设计了VB程序,统计了20个用户购买10种商品之间的关联性,VB程序如下,部分界面如题图所示。
Private Sub Cmd1_Click( )
Dim a(1 To 200) As Integer '各个用户原始的购买记录
Dim dsj(1 To 45) As Integer '统计商品之间的关联次数
Dim i As Integer, t As Integer, ne As Integer, j As Integer, max As Integer
'数组a读入数据并在列表框分行输出,代码略
For i= 1 To 20 '20个用户
t= 1
For j= 1 To 9 '10个商品,共45种组合
For k=j+ 1 To 10
m=(i- 1)* 10
If Then dsj(t) = dsj(t)+ 1
①
Next k
Next j
Next i
max=0
For i=1 To 45
If ② Then
max=dsj(i)
maxi=i
End If
Next i
t=9:nc= 1
Do While maxi>t
③
t=t-1
nc=nc+1
Loop
Text1.Text="关联最多的是商品"+Str(nc)+Str(maxi+nc)+":"+Str(max)+"次"
End Sub
① ② ③