小明编写了一个矩阵转换程序,功能如下:单击“生成”按钮Command1后,在列表框list1中生成1-16顺序矩阵,单击“转换”按钮Command2后,在列表框.list2中生成转换后的矩阵。
转换的算法如下:
1)改变列的位置:原矩阵第3列变为新矩阵的第1列,原矩阵第1列变为新矩阵第2列,原矩阵第4列变为新矩阵第3列,原矩阵第2列变为新矩阵第4列。
2)改变行的位置:经过(1)处理后的矩阵的第1行和第4行交换,第2行和第3行交换。实现上面的功能,程序运行界面如图所示。
(1)
程序执行后,点击转换按钮,在列表框List2中显示转换后的矩阵。再次点击转换按钮后,列表框List2中仅显示重新转换后的矩阵,则应在Com-mand2_ Click( )事件过程中添加语句(单选,填字母:A .Text2. Text=“”/B .List2. AddItem“”/C .List2. Clear)
(2)
实现上述功能的程序如下,请在程序划线处填入合适的语句或代码。
Dim sc(1 To 16) As Integer
Dim zh(1 To 16) As Integer
Private Sub Command1_ Click( )
'在列表框list1中生成4*4矩阵sc,代码略
End Sub
Private Sub Command2_Click( )
Dim pb As Integer, tmp As
Integer, i As Integer, line As String
For i=1 To 16 '变化列
If
i Mod 4=1 Then
ElseIf i Mod 4=3 Then
pb=i-2
Else
pb=pb+2
End If
zh(pb)= sc(i)
Next i
For i=1 To 8 '交换行
If Then
tmp=zh(i) :
zh(i)=zh(i+12) : zh(i +12)= tmp
Else
tmp=zh(i) :
zh(i)=zh(i+4) : zh(i+4)= tmp
End If
Next i
line= ""
List2. Clear
For i=1 To 16
If
i Mod 4=1 Then
List2. AddItem line
line= adj(Str(zh(i)),
3)
Else
End If
Next i
List2. AddItem line
End Sub
Function adj(a As String,n As Integer) As String
'adj 函数的功能:在字符串a前加入适当的空格,使得a的程度为n位,代码略。
End Function
答案: 【1】C
【1】pb=i + 1【2】i<= 4【3】line= line +adj(Str(zh(i)),3)