1樓:匿名使用者
具體思路:
實現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)
if i > ubound(arr) then exit for //累計器大於陣列長度,退出迴圈
if arr(i) = 3 then
dodim j as integer
for j = i to 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)
//從新定義陣列長度
if i > ubound(arr) then exit for //累計器大於陣列長度,退出迴圈
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
測試結果:驗證方式通過計算刪除元素後的陣列長度確認實現功能,輸入了array(3, 3, 3, 3, 1, 3, 7, 3, 3, 3, 9, 3, 3),長度為13(從1開始算),刪除後長度為3,而且只有3個元素是不重複的。說明功能正常。
2樓:匿名使用者
sub 清除陣列重複數()
dim blnok as boolean
dim inttest(99) as integer '未清除重複前的陣列
dim intnew() as integer '清除重複數後的陣列dim i as integer
dim k as integer
dim a as integer
for i = 0 to 99
inttest(i) = int(rnd * 100) + 1 '為測試陣列賦值
next
for i = 0 to ubound(inttest)blnok = true
for k = 0 to ubound(inttest)if inttest(i) = inttest(k) and i <> k then
blnok = false '有重複數出現,標誌為假exit for
end if
next
if blnok = true then
'標誌為真時 將數值加入新的陣列
redim preserve intnew(a)intnew(a) = inttest(i)debug.print intnew(a)a = a + 1
end if
next
3樓:匿名使用者
dim i,j,k as integer
dim nlength as integerdim a() as integer
dim n as integer
n=100
redim 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為去除相同數後的陣列長度
4樓:匿名使用者
1private sub command1_click()dim s(1 to 10) as integerdim i, j, k, n as integers(1) = 1
s(2) = 44
s(3) = 1
s(4) = 2
s(5) = 3
s(6) = 5
s(7) = 44
s(8) = 66
s(9) = 66
s(10) = 7
n = 10
for i = 1 to n - 1
for j = i + 1 to n
if s(i) = s(j) then
for k = j to n - 1
s(k) = s(k + 1)
next k
n = n - 1
end if
next j
next i
for i = 1 to n
print s(i)
next i
end sub
vb 陣列中去掉相同的數
5樓:匿名使用者
具體思路:
實現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)
if i > ubound(arr) then exit for //累計器大於陣列長度,退出迴圈
if arr(i) = 3 then
dodim j as integer
for j = i to 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)
//從新定義陣列長度
if i > ubound(arr) then exit for //累計器大於陣列長度,退出迴圈
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
測試結果:驗證方式通過計算刪除元素後的陣列長度確認實現功能,輸入了array(3, 3, 3, 3, 1, 3, 7, 3, 3, 3, 9, 3, 3),長度為13(從1開始算),刪除後長度為3,而且只有3個元素是不重複的。說明功能正常。
6樓:玫瑰為你盛開
private sub command1_click()
dim cflag() as boolean, c() as integer
rem 在此處得到c的具體元素及其個數,以下為示例
'**********************************
m = 20
redim cflag(1 to m), c(1 to m)
a = lbound(c)
b = ubound(c)
randomize
text1 = ""
text2 = ""
for i = a to b
c(i) = int(10 * rnd)
text1 = text1 & " " & c(i)
next
'***********************************
rem 去同
for i = a to b - 1
if cflag(i) = false then
for j = i + 1 to b
if c(i) = c(j) then cflag(j) = true
next
end if
next
rem 顯示
n = 0
for i = a to b
if cflag(i) = false then
n = n + 1
text2 = text2 & " " & c(i)
end if
next
print n '剩餘個數
end sub
7樓:匿名使用者
懶得找書了
0分,我也懶的寫了,雖然很簡單
vb如何去掉重複的陣列元素?
8樓:ii個人的寂寞
你的意思是不是有乙個陣列,裡面的元素可能有重複的。
比如陣列a。裡面有5個值,其中有3個是重複的?
如果這樣的話,很好辦哦。
新建乙個陣列b,然後遍歷要去除的陣列a,
從a中把每乙個都取出來,和新建的b裡面的去比,如果有相同的,則不放入b,
否則就放入陣列b,直到迴圈結束。
9樓:匿名使用者
陣列元素怎麼會重複呢?不可能的,你看看你是不是說錯了
vb刪除陣列中相同資料,求高手幫忙,先行謝過
10樓:網海1書生
dim a() as string, b() as string, c() as string
dim temp as string, i as longtemp = replace(text1, ",,", ", ")a = split(temp, ", ")for i = 0 to ubound(a)if join(filter(b, a(i))) = "" thenif join(b) = "" then
redim b(0)
else
redim preserve b(ubound(b) + 1)end if
b(ubound(b)) = a(i)
if join(c) = "" then
redim c(0)
else
redim preserve c(ubound(c) + 1)end if
c(ubound(c)) = ubound(filter(a, a(i))) + 1
end if
next
VB怎麼宣告陣列,VB中陣列怎麼定義
如果有規律就可以用for next 來賦值,如果沒有規律,資料又很多的話,就從檔案裡面讀。 dim 陣列名 as int new int vb中陣列怎麼定義 大野瘦子 是這麼定義的 陣列中的第一個元素的下標稱為下界,最後一個元素的下標稱為上界,其餘的元素連續地分佈在上下界之間,且陣列在記憶體中也是用...
vb按鈕陣列如何呼叫,vb中如何讓乙個按鈕呼叫另乙個按鈕中的陣列?VB小菜,請高手指教。
以為打老鼠為例,示例如下 在form load事件中輸入下面的 for i 1 to 15 因為有16個名稱相同的控制項 command1 i visible false 此功能用於在窗體啟動時將所有的控制項隱藏。next i 介面的其它內容也可以在此設定,例如option1,label1等 然後通...
VB如何設計單擊網頁,VB 如何單擊網頁中的按鈕
我的思路是 先手動開啟該網頁 該網頁不能關閉 不能最小化 不能移動。呵呵呵 這方法很笨 但實用。用vb獲取按鈕的座標。用計時器 每隔一定時間點選該座標一次。應該有更先進的方法 我也想學習學習。vb 如何單擊網頁中的按鈕 單擊 click 屬於事件。所謂事件 event 是由vb預先設定好的 能夠被物...