关于算法
有二维数组{(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 , 基础类