【发布时间】:2015-02-22 03:15:45
【问题描述】:
嗨,我有让 imagen 3 个数组
ArrayA = {1,2,3}
ArrayB = {4,5,6,7}
ArrayC = {8,9,10,11,12}
我想循环这些但按如下顺序进行
打印 ArrayA,B,C 的第一个值
打印 ArrayA,b,C 第二个值
打印 ArrayA,B,C 第三个值
打印 ArrayA,b,C 第四个值
...
...
...
所以它会输出
1,4,8
2,5,9
3,6,10
此时数组 A 需要环绕,因此下一个输出将是
1,7,11
2,4,12
...
...
如果10个项目大小相同的数组我可以做
x = 0 到 9
打印 ArrayA{x}
打印 ArrayB(x)
打印 ArrayC(x)
下一个
但是对于不同长度的数组,我仍然可以将它们放在同一个循环中吗?我想我可以在每次循环运行时递增的数组中放置一个计数,例如
x=x+1 如果 x > 数组最大值则 x = 0
但它可以以更有效的方式完成吗?
我正在考虑在 perl 中执行此操作,并且我知道上面的代码与 perl 完全不同,因此实际代码如下,但目前我正在使用 VBA。
stars 是一个 199 维数组,该数组中的每个项目都是一个 720 长和 3 宽的二维数组。 SO stars(individual star)(轨道上的点,x坐标,y坐标)
所以 star(1) 包含具有 0.5 度分辨率的恒星轨道的 x,y 坐标的数组。但有些需要具有不同的分辨率,因此尺寸会有所不同。但我仍然希望能够不断地循环遍历它们并根据需要环绕每个数组。
For h = 0 To 720
'Application.ScreenUpdating = False
For st = 0 To 199
Cells(st + 10, 2).Value = stars(st)(h, 1)
Cells(st + 10, 3).Value = stars(st)(h, 2)
Next
'calls chart to update
'Application.ScreenUpdating = True
DoEvents
Next
干杯
【问题讨论】: