VB中如何注销数组,变量?

作者&投稿:巢勉 (若有异议请与网页底部的电邮联系)
VB中如何删除数组变量中重复的元素?~

Private Function NewArray(ByRef b() As Integer)
Dim Temp() As Integer
Dim H As Integer, I As Integer, J As Integer, K As Integer
Dim IsNew As Boolean

H = UBound(b())
ReDim Temp(0) '如果你原数组元素数量是万个级别的,就直接ReDim Temp(H),下面 ReDim Preserve Temp(K) 去掉
Temp(0) = b(0)

For I = 0 To H
IsNew = True
For J = 0 To K
If Temp(J) = b(I) Then
IsNew = False
Exit For
End If
Next J
If IsNew Then
K = K + 1
ReDim Preserve Temp(K)
Temp(K) = b(I)
End If
Next I

ReDim b(K)
For I = 0 To K
b(I) = Temp(I)
Next I
Erase Temp()
End Function

'调用

'dim b() as integer
'dim I as integer
'dim OutputStr as String
'redim b(Ubound(a()))
'for I=0 TO Ubound(a())
' b(I)=a(I)
'next I
'NewArray(b())
'返回的b()为除重后的数组,可以根据你的需要显示、输出数组a()、b()。

私人小组Form_Load中()
暗淡(4)整数

一(0)= 0

一(1)= 1

一(2)= 2

(3)= 3



对i = 0 UBOUND(removearray(一,2)) -
:Debug.Print removearray(,2)(一)

下一页



END SUB



专用功能removearray(()整数,作为整数的指数)

= 0

对于i = 0到UBOUND (一) - 1

如果我>指数

一(J)= A(I)

当J = J + 1

最后如果


>

removearray =()
端功能

a(1
to
100)
本身就是静态数组
就是不能更改维数的
只有动态数组才可以更改才可以用redim
一楼别误导
你完全可以用这样的形式来使用
数组a
Dim
a()
As
Variant
ReDim
a(1
To
100)
As
Variant
ReDim
a(10
To
20)
As
Variant

dim
a()
as
integer
‘定义数组a的类型
redim
a(0)
’定义数组的个数
一般数组从0开始算
如果redim
a(12)
这样数组a中就有13个内存了
b=55
a(0)=5
这样就把数据55录入数组a()中了
其中a(0)=55


输入10个正整数保存在数组a中,将大于平均值的元素保存在数组b中,输
include <stdio.h>void main(){int i,j=0,k=0,s=0,a[10],b[10];for(i=0;i<10;i++){scanf("%d",&a[i]);s+=a[i];}for(i=0;i<10;i++)if(a[i]>s\/10.0) {b[j]=a[i];j++;}for(i=0;i<j;i++) printf("%d ",b[i]);printf("\\n个数:%d",j);} 运行...

...int add(int a[N][N],int b[N]的功能是将a数组中每列的最小元_百 ...
int add(int a[M][N],int b[N]){ int i, j;for(i = 0; i < N; i++) { b[i] = a[0][i];for(j = 1; j < M; j++)if(b[i] > a[j][i])b[i] = a[j][i];} }

[C语言急求]设计函数将数组a中的由变量b表示的字符删除,并返回已删除...
int delchar(char a[], char b){ int i , j ;for( i = 0 , j = 0 ; a[j] != '\\0' ; j ++ ){ if( a[j] != b ){ a[i] = a[j] ;i ++ ;} } a[i] = '\\0' ;return j - i ;}

vb中如何在数组b中保存数组a中小于80的元素值
ReDim c(n)改为 ReDim Preserve c(n)

java中如何把数组a中有0到9的10个元素随机全部放到空数组b中 import ja...
int[] a = {0,1,2,3,4,5,6,7,8,9};int[] b =new int[10];for (int i = 0; i < b.length; i++) { b[i]=-1;} Random r = new Random();int m = 0;while(m<10){ int n = r.nextInt(10);if(b[n]==-1){ b[n]=a[m];m++;} } for (int i = 0...

...存到另一个二维数组b中去。输出a,b数组。大神们
include<stdio.h> void main() {void change(int arr1[2][3],int arr2[3][2]); int arr1[2][3]={{1,2,3},{4,5,6}},arr2[3][2]; int i,j; printf("\\nThe original array:\\n"); for(i=0;i<2;i++) {for(j=0;j<3;j++) printf(" %d",arr1[i][j]); ...

vb中如何把一个二维数组赋给另外一个二维数组
Dim a(10,20),b(10,20)'对数组a赋值 for i=0 to 10 for j=0 to 20 b(i,j)=a(i,j)next next

vb问题,数组a和b中分别存放的10个随机产生的升序排列的整数,将两数组元...
Private Sub Command1_Click()Dim a(1 To 10), b(1 To 10), c(1 To 20)Randomize For i = 1 To 10 a(i) = Int(Rnd * 100)b(i) = Int(Rnd * 100)Next i For i = 1 To 9 For j = 10 To i + 1 Step -1 If a(i) > a(j) Then d = a(i): a(i) = a(j...

...请哪位高手帮忙分析一下下面代码中数组b是如何与数组a作用的,以及b...
a是存放输入字符串的。b是临时字符串,实际是进行先进后出的操作。如果a的当前字符和b当前相同则把b中这个字符置0,否则把这个字符放入b。记住刚开始b中全部是0。如果最后b中仍然是0,证明是。否则不是。

c#定义一维数组A和B为四个元素的数组,且给A[1]和A[4]赋初值。颠倒这些值...
纠正错误:四个元素的一维数组的元素的下标为0-3。即数组A的四个元素是A[0]、A[1]、A[2]、A[3]如果对A[4]操作会造成下标越界

和县18056948115: VB中如何注销数组,变量? -
徵询奈邦: vb的变量不用注销,过程结束后自然就注销了,如果已经定义了一个变量,下次直接用就行了,不用再重新定义.数组可以用redim重新定义

和县18056948115: vb怎样销毁数组的指定单个的单元我有一个很大的数组,比如x(10
徵询奈邦: 一旦声明大小后没法改的 除非你用变体的. 销毁只能一块消失. Dim MyArr() '首先声明数组'************************ReDim MyArr(I) '设置数组大小 I 是个数字变量,那就根据你想要多大数组来决定了. 数字内范围是 0 - I另外你还可以指定起始数组坐标ReDim MyArr(3 To I) '这样 3下面的 2 1 0 是没有的.

和县18056948115: VB中定义了一个全局变量的数组,但我想执行完一段程序后,清空此数组里的值,但是不知道怎么清空,求大神指教 -
徵询奈邦: 比如数组名是a,以下命令可以重新初始化该数组:Erase a

和县18056948115: VB.net如何删除数组内元素 -
徵询奈邦: 删除数组元素很简单,重新声明数组即可,代码如下 Redim [Preserve] 数组名 (下标上界) 这个也可以称为动态数组,这个东西是基础,非常重要. 这个功能就等于说,把原来的数组重新声明,Preserve是可选项,他的意思就代表是否保留数组内容,这是重点,如果你想删除数组中的元素,就不要写Preserve,这个方法的控制性也很好,可以重新声明数组的元素,各个方面都很有用,希望采纳!谢谢!

和县18056948115: VB 定义全局数组变量 怎样才能重新清零 Public Arr(1 To 10) As String -
徵询奈邦: Erase Arr 当把Erase语句用于动态数组时,将删除整个数组结构并释放该数组所占用的内存区.也就是说,动态数组经Erase语句执行后,即不复存在;而静态数组经Erase后,仍然存在,只是其内容被清空.

和县18056948115: VB怎么清除数组中的全部元素的值 -
徵询奈邦: Erase 数组名 要注意,如果是固定数组,则所有元素的值被初始化(字符型为空字符串,数值型为0),数组的大小是不变的;如果是动态数组,则所有元素被删除,内存空间被回收,要重新ReDim才能使用.

和县18056948115: vb里面怎么清除变量? -
徵询奈邦: 呵呵,建议楼主在以后的编程中养成声明变量的好习惯.清除变量的值:对于字符串变量,是把这个变量设置成空字符串,例如:AA="" 对于数值型变量,是把这个变量清零,例如:AA=0 对于变体类型,比较复杂,需要用到 SET 语句,例如:Set AA= Nothing

和县18056948115: vb中如何删除数组的行和列? -
徵询奈邦: 你所说的是删除数组里的值还是数组自身,如果前者可以历遍删除,后者的话分两种情况,的看你的数组是申请在栈还是堆,如果前者函数结束自动释放,后者的用指针手动释放

和县18056948115: VB怎样删除或插入数组中的某个成员?还有UBound命令获取的数组下标是不是不包括0这个成员的? -
徵询奈邦: UBound是最大的下标值,不是说里面有几个元素.比如dim a(0 to 10),UBound(a)结果就是10,但里面确实有11个元素,0到10都是可以用的.动态数组的话是这样,dim a() as integer redim preserve a(0 to 10) redim preserve a(0 to 12) perserve 意思是保留数组里的内容,不加的话redim后数组里就全是0了.你要删除或者在数组中间插入数据的话,就要自己编代码,弄两个数组来回复制了.

和县18056948115: 如何释放VB所有变量 -
徵询奈邦: 不用写,这个过程执行完后,内存空间就自动释放了.unload form2 就行.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网