在线等,二维数组的遍历问题!急

liaob 2003-12-25 02:25:59
任意给出一个二维数组,可能是ARR(5,6),也可能是ARR(10,10),现要取得此数组的每一行的任意一个元素,组成一个字符串。要求所有的组合。
比如ARR(1,2)
ARR(0,0)="1",ARR(0,1)="2",ARR(0,2)="3"
ARR(1,0)="4",ARR(1,1)="5",ARR(1,2)="6"
其所有的组合应该为:1,4;1,5;1,6;2,4;2,5;2,6;3,4;3,5;3,6
请各位大虾老鸟多多灌水,我需要VB制作的代码。
...全文
134 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2003-12-25
  • 打赏
  • 举报
回复
递归代码:
Option Explicit

Private Sub Command1_Click()
Dim x(3, 9) As String, i As Long, temp As Variant
For i = 0 To 9
x(0, i) = i
x(1, i) = Chr(65 + i)
x(2, i) = Chr(97 + i)
x(3, i) = i
Next
temp = Split(getall(4, x), ";")
For i = 0 To UBound(temp)
List1.AddItem temp(i)
Next
Me.Caption = List1.ListCount
End Sub

Function getall(ByVal n As Integer, ByRef a() As String) As String
Dim temp() As String, i As Long, rows As Long, cols As Long
rows = UBound(a, 1)
cols = UBound(a, 2)
ReDim temp(cols)
If n = 1 Then
For i = 0 To cols
temp(i) = a(0, i)
Next
getall = Join(temp, ";")
Erase temp
End If
If n > 1 Then
For i = 0 To cols
temp(i) = Replace(getall(n - 1, a), ";", "," & a(n - 1, i) & ";") & "," & a(n - 1, i)
Next
getall = Join(temp, ";")
End If
Erase temp
End Function
liaob 2003-12-25
  • 打赏
  • 举报
回复
实在是太感谢了,谢谢!谢谢!
LanceJin 2003-12-25
  • 打赏
  • 举报
回复
数组边界知道了,其它就不用说了
LanceJin 2003-12-25
  • 打赏
  • 举报
回复
用UBound,注意要加一

Dim A(100,3,4)

Statement Return Value
UBound(A,1) '99
UBound(A,2) '2
UBound(A,3) '3
liuyanghe111 2003-12-25
  • 打赏
  • 举报
回复
Dim arr() As String
Dim i As Long
Dim j As Long
Dim k As Long
Dim l As Long

Dim strTemp As String
Dim strFirst As String

Dim m As Long, n As Long

m = 1
n = 2

ReDim arr(m, n)

arr(0, 0) = "1"
arr(0, 1) = "2"
arr(0, 2) = "3"
arr(1, 0) = "4"
arr(1, 1) = "5"
arr(1, 2) = "6"


For i = 0 To m
For j = 0 To n
strFirst = arr(i, j)

For k = i + 1 To m
For l = 0 To n
strTemp = strFirst & "," & arr(k, l)
Debug.Print strTemp
Next l
Next k

Next j
Next i
liaob 2003-12-25
  • 打赏
  • 举报
回复
应该怎么写代码呢?大哥,拜托了。
northwolves 2003-12-25
  • 打赏
  • 举报
回复
arr(m,n) 共有(n+1)^(m+1)种组合,递归,效率虽低,确实可行。
liaob 2003-12-25
  • 打赏
  • 举报
回复
帮帮忙啊!

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧