


图1旋转前

图2顺时针90°以后
如果用数字来表示该矩阵,2表示钻石,1表示固定的障碍物,0表示空位置。随机生成一个m*m的矩阵在 List1中显示,点击Command1按钮,按照上述要求旋转90°后的矩阵在List2中显示。程序运行界面如图3所示:

图3
(1)若m=3时,矩阵存储在a中的值为“2,0,1,1,2,0,2,0,0”,顺时针旋转90°后,a(6)中存储的值为
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Const m=6
Dim a(1 To m * m) As Integer'存储矩阵状态,2代表钻石,1代表固定障碍物,0代表空格
Private Sub Form_Load()
'生成初始矩阵保存到a数组并输出到List1中,代码略
End Sub
Private Sub Command1_Click()
Dim q(1 To m) As Integer '存储有效空格位置
Dim f As Integer, t As Integer, k As Integer, p As Integer
f = 1: t = 1: k = m
'先模拟钻石下落过程
For i = 1 To m * m
If
q(t) = k
t = t + l
ElseIf a(k) = 1 Then
f = 1: t = 1
ElseIf f <> t Then
f = f + 1
a(k) = 0
q(t) = k
t = t + 1
End If
If k Mod m = 1 Then
f = 1: t = 1
k = k + 2 * m - 1
Else
k = k - 1
End If
Next i
'顺时针旋转90°后输出
p = (m - 1) * m + 1
For i = 1 To m * m
s = s + Str(a(p))
If i Mod m = 0 Then
List2.AddItem s
s = ""
p =
Else
p = p - m
End If
Next i
End Sub

同类型试题

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2


y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

