一个简单问题?

hztgames 2003-09-12 02:58:16
一个数组变量,如何计算出其中有多少个数?重复的不算
例如:算出的数应该为6
Dim n(7) As Integer
n(1) = 1
n(2) = 2
n(3) = 3
n(4) = 4
n(5) = 5
n(6) = 6
n(7) = 1
...全文
25 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
rocky2 2003-09-12
  • 打赏
  • 举报
回复
不好意思刚才错了
strtemp=";"
for i=1 to 7
if instr(strtemp,";"& in(i) &";",0,vbtext) =0 then
strtemp=strtemp & n(i) &";"
k=k+1
endif
next
rocky2 2003-09-12
  • 打赏
  • 举报
回复
可以先将加到记录集中,然后进行排序,取出。

或者
strtemp=";"
for i=1 to 7
if instr(strtemp,in(i),0,vbtext) =0 then
strtemp=strtemp & n(i)
k=k+1
endif
next
kmzs 2003-09-12
  • 打赏
  • 举报
回复
一个头大的循环,要挨个比较还要计数,用递归试试看。。。
strongfisher 2003-09-12
  • 打赏
  • 举报
回复
对不起我写错了
hztgames 2003-09-12
  • 打赏
  • 举报
回复
strongfisher(Haiwolf) 你给的算法好象有点问题也
n(1) = 1
n(2) = 2
n(3) = 3
n(4) = 4
n(5) = 5
n(6) = 1
n(7) = 1时算出的个数为4个
二师兄的老公 2003-09-12
  • 打赏
  • 举报
回复
如果要考虑算法,这个问题一点也不简单。
taosihai1only 2003-09-12
  • 打赏
  • 举报
回复
同上
strongfisher 2003-09-12
  • 打赏
  • 举报
回复
最麻烦的是每一个和所有的比较
for i=1 to 7
for ii=1 to 7
if i<>ii then
if n(i)<>n(ii) then
k=k+1
endif
endif

next


next

7,762

社区成员

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

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