vb6.0中如何从6个数组中各取一个元素组成新数组

6个数组A(),B(),C(),D(),E(),F(),每个数组有10到30个元素(不定),要求如条件:
从A()取一个元素时不按条件,从B()到F()时按条件。
如从B()取时,条件如下:
当MOD(B(I),6)>MOD(A(J),6)就取
当MOD(B(I),6)<MOD(A(J),6)I不取,进入B(I+1)再检测取值,
当MOD(B(I),6)=MOD(A(J)且MOD(B(I),12)=MOD(A(J),12)时,
要求B(I)>A(J)就取,否则不取进入B(I+1)再检测取值,
当MOD(B(I),6)=MOD(A(J)且MOD(B(I),12)>MOD(A(J),12)时,就取
从C()取时,与B(I)比较,
从D()取时,与C(K)比较
从E()取时,与F(N)比较
从F()取时,与E(M)比较
注意:如MOD( * ,6)=0时应令为6,MOD(*,12)=0时应令为12。这样才能好比较。
MOD()为取余函数;EXCEL中的函数。其实就取值是按条件的。不符合条件不要,直到符合为止。新数组设为Y(),那么得到的结果就是Y=(A(j),B(i),C(k),D(m),E(n),F(l)).
其中Y(1)=A(J),Y(2)=B(i),Y(3)=C(K),Y(4)=D(m),Y(5)=E(n),Y(6)=f(l),
条件是(从B()取一个元素时)(四种情况):
1 当(B(i)mod 6)>(A(j) mod 6)就取该元素;
2当(B(i)mod 6)<(A(j) mod 6)时不取,再检测下一个B()元素,直到符合为止;
3 当 (B(i)) mod 6)=(A(j) mod 6)且(B(i)) mod 12)=(A(j) mod 12)时,只要B(i)>A(j) 就取该元素;否则再检测下一个B()元素。
4 当(B(i)) mod 6)=(A(j) mod 6)且(B(i)) mod 12)>(A(j) mod 12)时就取该元素。

同样从C()到F()取元素时,也按上述条件。只是要与前面那个元素比较。从B()取元素要与从A()取得了的元素比较,从C()取元素要与从B()取得了的元素比较,。。。从F()取元素要与从E()取得了的元素比较。这样不是得了一个新数组了吗。

没看明白,改 intx(i) = val(InputBox(" "))。关于for each in看下边

For Each...Next 语句

针对一个数组或集合中的每个元素,重复执行一组语句。

语法

For Each element In group
[statements]
[Exit For]
[statements]

Next [element]

For...Each...Next 语句的语法具有以下几个部分:

部分 描述
element 必要参数。用来遍历集合或数组中所有元素的变量。对于集合来说,element 可能是一个 Variant 变量、一个通用对象变量或任何特殊对象变量。对于数组而言,element只能是一个 Variant 变量。
group 必要参数。对象集合或数组的名称(用户定义类型的数组除外)。
statements 可选参数,针对 group 中的每一项执行的一条或多条语句。

说明

如果集合中至少有一个元素,就会进入 For...Each 块执行。一旦进入循环,便先针对 group 中第一个元素执行循环中的所有语句。如果 group 中还有其它的元素,则会针对它们执行循环中的语句,当 group 中的所有元素都执行完了,便会退出循环,然后从 Next 语句之后的语句继续执行。

在循环中可以在任何位置放置任意个 Exit For 语句,随时退出循环。Exit For经常在条件判断之后使用,例如If匮hen,并将控制权转移到紧接在 Next 之后的语句。

可以将一个 For...Each...Next 循环放在另一个之中来组成嵌套式 For...Each...Next 循环。但是每个循环的 element 必须是唯一的。

注意 如果省略 Next 语句中的 element,就像 element 存在时一样执行。如果 Next 语句在它相对应的 For 语句之前出现,则会产生错误。

不能在 For...Each...Next 语句中使用用户自定义类型数组,因为 Variant 不能包含用户自定义类型。
温馨提示:答案为网友推荐,仅供参考