当前位置:编程学习 > VB >>

关于算法

有二维数组{(1,3),(2,7),(3,2),(4,3),(5,5),(6,3),(7,7)}
现在,我要找二维的第二个具有相同书的数组,
例如二维等于3的就有1,3),(4,3),(6,3)
        二维等于7的就有(2,7),(7,7)
        二维等于2的就有(3,2)
找到后将一类要记录在一个数组中
这就是问题,记录在什么数组中,他们的个数不一样?
用二维数组,怎么确定上下限???
 各位大侠,求救呀?
第一次发贴,大家轻拍!!!!!!!!!!!!!!!!!!! --------------------编程问答-------------------- 上限
ubound(arr,2)就是你第二维的上限

可以把这个数组根据第二维排序一下,然后循环找就好了

--------------------编程问答-------------------- 请问楼上,
ubound(arr,2),这里的arr 是什么?
我的关键问题是怎么把它们分类,并且要放在另外一个数组中!
例如:数组一{(1,3),(4,3),(6,3)}  这要放在一个数组中
     数组二       {(2,7),(7,7)}  这要放在另一个数组中
     数组三        {(3,2)}         .............
这个数组序列的数目,数组中的二维上限不知道怎么确定? --------------------编程问答-------------------- 比如:
    Dim arr(5, 7) As Integer
    Dim i As Integer, j As Integer
    
    For i = 0 To 5
        For j = 0 To 7
            arr(i, j) = Int(Rnd * 10)
        Next j
    Next i
      
'数组的上下标就是这样的了:      
    For i = LBound(arr, 1) To UBound(arr, 1)
        For j = LBound(arr, 2) To UBound(arr, 2)
            Debug.Print "arr(" & i & "," & j; ") = " & arr(i, j)
        Next j
    Next i

至于你要保存的信息,是保存数组的值?还是数组的名称
不过不管你保存什么,用动态数组就可以了 --------------------编程问答-------------------- 不明白你是有很多二维数组?还是仅仅是些类似坐标的数据?
若只是后者,定义一个结构,用一个一维数组保存,简单遍历,将结果(数组下标)存入另一个动态数组即可。
结构定义可这样:
Public Type POINTAPI
        x As Long
        y As Long
End Type

若是前者,就一时弄不懂你的要求了!到底要干什么?表面看可以用Variant数组保存一批二维数组,用LBound与UBound获取每个数组每维的上下标。 --------------------编程问答-------------------- 楼上!我现在有很多数组!
实际上我的目的就是将这些二维数组分类!
然后记录下来,留着以后调用!
问题就是,我不知道分类后数组的类型有多少个?
每个类型中有多少项? --------------------编程问答-------------------- 楼主,貌似一维结构数组似乎更适合你!
type Arr
  x as integer
  y as integer
end type

用时,dim arrTmp(10) as arr
...
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,