如何判断一个数组里的每一个元素都大于0??谢谢

zl17 2003-09-03 04:29:07
如何判断一个数组里的每一个元素都大于0??谢谢
...全文
2251 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yichi 2003-09-30
  • 打赏
  • 举报
回复
如果这个数组不是一维数组呢?
所以建议大家还是先判断一下数组的维数再去比较比较好吧?
以下是我做的判断数组维数和数组变量数量的两个函数,尽供大家参考
Public Function weishu(sz() As String) As Integer
Dim i As Integer
Dim count As Integer

On Error GoTo BoundError
For i = 1 To 61 '不会有这么多维数的数组
count = LBound(sz(), i)
Next
BoundError:
weishu = i - 1

End Function
Public Function changdu(shuzu() As String) As Integer
Dim count As Integer
Dim i As Integer
If IsArray(shuzu) And weishu(shuzu) Then
count = 1


For i = 1 To weishu(shuzu)
count = count * (UBound(shuzu, i) - LBound(shuzu) + 1)
Next i
End If
changdu = count
End Function
matchchen 2003-09-03
  • 打赏
  • 举报
回复
把dreamreality(追梦)的代码再改进一下:

Function Judge(a) As Boolean
Dim i As Long
On Error Resume Next'很重要喔,不然碰到空数组就死了
Judge = False
For i = LBound(a) To UBound(a)
If a(i) <= 0 Then
Judge = False
Err.Clear
Exit Function
End If
Next
Err.Clear
Judge = True
End Function
欢迎继续讨论完善!
ccnucjc 2003-09-03
  • 打赏
  • 举报
回复
用for each最简单
dreamreality 2003-09-03
  • 打赏
  • 举报
回复
fuction judge (a) as boolean
for i = Lbound(a) to ubound(a)
if a(i)<=0 then
judge=false
exit function
end if
next
judge=true
end function
楼上的好像少考虑了数组的下限
of123 2003-09-03
  • 打赏
  • 举报
回复
Dim arr(1024) As Byte
Dim mystr As String
Dim i As Integer

......
mystr = arr
If Len(mystr) - Len(Replace(mystr, Chr(0), "")) = 0 Then
MsgBox "没有0"
End If


lisen101 2003-09-03
  • 打赏
  • 举报
回复
循环穷举 对电脑来说,是最简单实用的方法
射天狼 2003-09-03
  • 打赏
  • 举报
回复
同意楼上~~
一个一个判断吧~~
Fengq 2003-09-03
  • 打赏
  • 举报
回复
fuction judge (a) as boolean
for i = 1 to ubound(a)
if a(i)<=0 then
judge=false
exit function
end if
next
judge=true
end function

7,763

社区成员

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

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