VB中关于redim 的问题,谢谢恩~

qiu_yuting 2011-11-11 12:52:18

Dim a(10, 10) As Integer, i%, j%, b%
Private Sub Text1_LostFocus()
b = Val(Text1.Text)
ReDim a(b, b)
a(1, 1) = 1
For j = 2 To b
a(i, 1) = 1
For j = 2 To i - 1
a(i, j) = a(i - 1, j - 1) + a(i - 1, j)
Next j
a(i, i) = 1
Next i
For i = 1 To b
For j = 1 To i
Print Tab((j - 1) * 8 + 1); a(1, j)
Next j
Print
Next i
End Sub
...全文
259 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
熊孩子开学喽 2011-11-12
  • 打赏
  • 举报
回复
前面已经定义成定长数组了,后面就不能redim了
KiteGirl 2011-11-11
  • 打赏
  • 举报
回复
你是要这个结果吗?

Private Sub Command1_Click()
Dim a() As Long, i As Long, b As Long
If IsNumeric(Text1.Text) Then
b = CLng(Text1.Text)
ReDim a(b ^ 2 - 1)
a(0) = 1
Cls
For i = 0 To b ^ 2 - 1
a(i) = ((Not CBool(i Mod b)) And 1) Or (CBool(i Mod b) And ((i Mod b) < (i \ b))) And (a(i - (CBool(i \ b) And b) - (CBool(i Mod b) And 1)) + a(i - (CBool(i \ b) And b))) Or ((CBool(i Mod b) And ((i Mod b) = (i \ b))) And 1)
If (i Mod b) <= (i \ b) Then Print Tab((i Mod b) * 8 + 1); a(i);
Next
End If
End Sub
zfl2k 2011-11-11
  • 打赏
  • 举报
回复
Dim a() As Integer 就可以了
clear_zero 2011-11-11
  • 打赏
  • 举报
回复
redim对于2维数组只能重新定义它的高维

dim a(,) as integer
redim a(2,2)
redim a(2,4)

大概就是这样
worldy 2011-11-11
  • 打赏
  • 举报
回复
不知道什么问题,大家猜吧 :)

7,788

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧