-
private sub command1_click()dim a()
a = array(, print "删除前的编号"
for i = lbound(a) to ubound(a)print a(i);
next i
n = 0k = ubound(a)
do until n > k
doevents
for i = n + 1 to ubound(a)if i > k then exit forif format(a(n), "###") = format(a(i), "###") then
for j = i to ubound(a) -1a(j) = a(j + 1)
next j
redim preserve a(ubound(a) -1)i = i - 1
k = k - 1
end if
next i
n = n + 1
loopprint
print "删除后的数字"
for i = lbound(a) to ubound(a)print a(i);
next i
print ""
end sub
private sub form_load()= true
end sub
-
这些数据的比较必须确定如何比较。
您认为这两个数据有多相似?
-
根据描述要求,如下:在每个文本框中画一个数字并组合并按从小到大排序,当一个组合有重复的数字时,需要将所有不重复的数字组合和顺序添加到list1列表框中。
为了实现过滤、组合和排序,最好增加一个退位功能:“排序和去重”,就是抽取6个数字进行排序,检查是否有重复的数字。 如果存在重复项,则返回 false,表示组合已舍入。
因此,上述**可以调整如下:添加bb数组变量和“排序和重复数据删除”功能,bb保存绘制的6个数字和肢体胡字符,并将它们作为函数的参数进行排序和比较。
这是用于单击按钮的事件处理程序。
这是添加的排序对比度功能。
-
具体思路:
实现 2 个周期,一个数组循环 2 次,一个外循环数组,得到一个值 a,然后循环内部,将 a 与你所在的数组的值进行比较一次,计算出现次数或设置为空,如果出现次数大于 2 时可以计算出出现次数, 删除该操作。如果此参数为空,则删除订单。
具体如下:
option explicit
function delete3(arr as variant) as variant
dim i as integer
for i = lbound(arr) to ubound(arr)
如果我> ubound(arr),则累加器的 exit 大于数组长度并退出循环。
if arr(i) = 3 then
dodim j as integer
对于 j = i 到 ubound(arr) -1,数组被重新分配。
arr(j) = arr(j + 1)
next j
if lbound(arr) = ubound(arr) then
delete3 = empty 删除相同的元素。
exit function
end if
redim preserve arr(lbound(arr) to ubound(arr) -1)
从 new 定义数组长度。
如果我> ubound(arr),则累加器的 exit 大于数组长度并退出循环。
loop while arr(i) = 3
end if
next i
delete3 = arr
end function
sub test()
delete3 (array(3, 3, 3, 3, 1, 3, 7, 3, 3, 3, 9, 3, 3))
end sub
测试结果:验证方法通过计算删除元素后数组的长度来确认函数,并输入数组(3、3、3、3、1、3、7、3、3、3、9、3、3),长度为13(从1开始计算),删除后的长度为3,只有3个元素不重复。 表示它运行正常。
-
sub 清除数组重复 ()。
dim blnok as boolean
dim inttest(99) as integer '不会清除重复项之前的数组。
dim intnew() as integer '清除重复次数后,数组 dim i 为整数
dim k as integer
dim a as integer
for i = 0 to 99
inttest(i) = int(rnd * 100) +1 '为测试数组赋值。
nextfor i = 0 to ubound(inttest)blnok = true
for k = 0 to ubound(inttest)if inttest(i) = inttest(k) and i <>k then
blnok = false '如果存在重复项,则标志为 false exit
end if
nextif blnok = true then
当标志为 true 时,该值将添加到新数组中。
redim preserve intnew(a)intnew(a) = inttest(i)intnew(a)
a = a + 1
end if
next
-
dim i,j,k as integer
dim nlength as integerdim a() as integer
dim n as integer
n=100redim a(n-1) as integer'为数组分配值 0--99。
nlength=n-1
for i=0 to nlength-1
for j=i+1 to nlength
if a(j)=a(i) then
for k=j to nlength-1
a(k)=a(k+1)
next k
nlength=nlength-1
end if
next j
next i
for i=0 to nlength
print a(i)
next i
nlength 是删除相同数字后数组的长度。
您的添加记录outvouch("01", a(),"001", "ddd", b(),"2008-01-01") 应该添加 recordoutvouch(string str1,string para1,string str2,string str3,string para2,string str4),因为你是 a 和 b 已经是数组了,以后不需要添加 ()。 >>>More
在“候选人编程的开始”和“候选人程序的结束”之间,不可能引用 a(7,7)。 在编写程序时,不能涉及 a(7,7),并且无法达到问题要求的结果。 >>>More
定义数组后,为了使用数组,必须为数组分配所需的内存区域。 根据内存区域分配的时间,数组可以分为静态数组和动态数组。 编译时需要分配内存的数组通常称为静态数组,需要在运行时分配的数组称为动态数组。 >>>More