小王按照上述算法設(shè)計了VB程序,統(tǒng)計了20個用戶購買10種商品之間的關(guān)聯(lián)性,VB程序如下,部分界面如圖所示。 Private Sub Cmd1_Click ____ Dim a(1To200)As Integer'各個用戶原始的購買記錄 Dim dsj (1To45)As Integer'統(tǒng)計商品之間的關(guān)聯(lián)次數(shù) Dim i As Integer,t As Integer,nc As Integer,j As Integer,max As Integer '數(shù)組a讀入數(shù)據(jù)并在列表框分行輸出,代碼略 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 a(j)*a 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=“關(guān)聯(lián)最多的是商品“+Str(nc)+Str(maxi+nc)+“:“+Str(max)+“次“ End Sub (1)將按鈕上的文字“統(tǒng)計”修改為“計算”,可在Form_Load過程中使用
秒。 (2)給橫線處填上合適代碼,使程序完整。 Dim a(1To10)As Integer,b(1To10)As Integer Private Sub Command1_Click ____ Dim i As Integer,time As Integer,k As Integer Dim c(1To20)As Integer,nc As Integer c(1)=a(1):nc=1 For i=1 To 9'刪除起點重復(fù)數(shù)據(jù)后添加到數(shù)組c If a(i)<>a(i+1)Then nc=nc+1 ①
EndIf Next i Fori=1To10'刪除終點重復(fù)數(shù)據(jù)后添加到數(shù)組c k=nc Do While b(i)<c(k) k=k-1 Loop lf ②
Then'非重復(fù)數(shù)據(jù)(新??繕菍樱┨砑拥綌?shù)組c For j=nc To k+1 Step-1 c(j+1)=cj) Next j nc=nc+1 c(j+1)=b(i) End If Next i time=(c(nc)-c(1))*3+nc*8 Text1.Text=“總時間--“+Str(time)+“秒” End Sub Private Sub Form_Load
'生成10批人的起止樓層,分別給數(shù)組a和b,并在列表框list1輸出,代碼略. For i=1 To 9 For j=10 To i+1 Step-1 If a(j)<a(j-1)Or③
Then t=a(j):a(j)=a(j-1):a(j-1)=t t=b(j):b(j)=b(j-1):b(j-1)=t End If Next j Next i For i=1 To 10 List2.AddItem Str(a(i))+Str(b(i)) Next i End Sub