数组问题

YUYAO2 2008-04-21 09:40:40
我想求出一个数组中有几个不同的数
下面是我写的程序
可是得不出我要的结果
麻烦大家给我看看
谢谢了
Dim MyArray,n,j,i,m

MyArray = Array(1,1,1,1,1,1,1)
n= UBound(MyArray)+1 'n 为数组的长度
for j=1 To UBound(MyArray)
For i=0 To j-1
If MyArray(j)=MyArray(i) Then
m=n-1 '出现一样长度就减1
End if
Next
next
response.write m
response.end
...全文
83 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
-晴天 2008-04-21
  • 打赏
  • 举报
回复
你的帖子不是求数组里有几个不同的元素吗?
你可以自己改变array里的值试试.
YUYAO2 2008-04-21
  • 打赏
  • 举报
回复
还是谢谢你
可我比较的不是相邻两个数是否相等
-晴天 2008-04-21
  • 打赏
  • 举报
回复
<%
Dim MyArray,n,j,i,m

MyArray = Array(1,1,1,1,1,1,1)
i=1
n=ubound(myarray)
do while i < n
j=i+1
do while j <= n
if myarray(i)=myarray(j) then
for m=j to n-1
myarray(m)=myarray(m+1)
next
n=n-1
else
j=j+1
end if
loop
i=i+1
loop
response.write n
%>
lihuasoft 2008-04-21
  • 打赏
  • 举报
回复
我学Delphi的,只是路过这里。
你的程序,只是比较相邻的两个数组元素是否相等,但是如果同一个数值在其他位置重复出现呢?怎么办?
所以,还是建议 请查一下冒泡排序的算法,在排序的同时进行比对统计。

因为你的程序根本就不会实现你的本意,改写是绝对的,错误嘛,不想分析了。呵呵
YUYAO2 2008-04-21
  • 打赏
  • 举报
回复
可不可以不用排序
我的数组里不一定是数
那我的程序错在哪里
lihuasoft 2008-04-21
  • 打赏
  • 举报
回复
排序就可以不必设置最大值了

可以在冒泡排序的过程中统计

我这里没有配置IIS,无法帮你试验。

网上有许多ASP冒泡排序的算法
YUYAO2 2008-04-21
  • 打赏
  • 举报
回复
为什么要先排序
lihuasoft 2008-04-21
  • 打赏
  • 举报
回复
先排序,再统计
YUYAO2 2008-04-21
  • 打赏
  • 举报
回复
谢谢你
那个程序可以用,不过i=0

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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