【已解决】找出数组B中相同的值并记录位置,再比较数组C相应位置的值是否相同。
本帖最后由 lion.lee 于 2012-4-10 23:05 编辑想用_arrayfindall,测试了好几次都搞不定,头真的好大。
刚开始用双重for循环,结果实现不了。
用_arrayfind,_arraysearch试了几回,也搞不定。
特来求助各位大大,谢谢了!
正则目前没有学习过,不知道能不能行,但建议不使用正则,若用正则的话,我怕自己消化不了。
主要想通过这次求助掌握一下这类问题的处理思路。
再次感谢各位前辈的热心指导,谢谢!#include <Array.au3>
Global $A,$B = ,$C = ,$D
For $i = 1 To 10
$A[$i] = $B[$i] & $C[$i]
Next
#cs
想实现当"数组B中的数值相同时比较数组C中对应的值是否相同,如不相同则将其列出来"
是比较同一个数组(B)中的值,从开头到结束的数据,如果数组中有一样的数据,就把该数据所在B的位置记录下来,再比较另外一个数组C对应位置的数据,如果该数组C中的值不一样则返回该位置的内容。也就是说如果B3 = B5 = B7 ,则比较C3,C5,C7的内容是否相同,若不相同则输出C3,C5,C7。
#ce正解在19楼!非常感谢! 我的确没看明白是什么意思。
你的意思是不是比较两个数组,从开头到结束的数据,如果两个数组相同位置的数据一样就记录下来并返回数据内容? 本帖最后由 lion.lee 于 2012-4-9 23:22 编辑
回复 2# nmgwddj
是比较同一个数组中的值,从开头到结束的数据,如果数组中有一样的数据,就把该数据所在的位置记录下来,再比较另外一个数组对应位置的数据,如果该数组中的值不一样则返回数据内容。也就是说如果B1 = B3 ,则比较C1是否等于C3。 本帖最后由 netegg 于 2012-4-9 23:34 编辑
#include <Array.au3>
Global $A,$B = ,$C = ,$aD, $temp=''
$aD = _arrayunique($B)
for $i in $aD
local $aIndex = _arrayfindall($B, $i)
if ubound($aIndex)=2 and $C[$aIndex] = $C[$aIndex] then $temp &= $C[$aIndex]&','
next
msgbox(0,0,$temp) 感谢大大的点拨,我一会测试一下我本来的程序看是否能实现。再次感谢! 不知道最终要得到什么。或许可以用正则完成。 本帖最后由 netegg 于 2012-4-10 00:51 编辑
回复 6# afan
可能不太好弄,
$b=$b, $c<>$c
要的是$c,$c的集合
我那个代码也有问题,只是个引子,具体的可能还要细整 回复 4# netegg
这样做是不是如果两个数组长度不符,就不能遍历所有数据了?假设第一个数组短,第二个数组长。 回复 8# nmgwddj
遍历没问题,不牵扯数组元素的个数,只牵扯用哪个数组作为比较的基础 回复 7# netegg
嗯,我知道。我会先合并两个数组的字符串~
LZ 的用意不大清楚,就不搞了~今天累了,睡~ 本帖最后由 netegg 于 2012-4-10 00:57 编辑
回复 10# afan
合并肯定不行,a =1,a = 1, b =10, b =10数组的值是不等的,但相等关系是一样的
楼主比的是当a = a时 b 是否等于 b 回复 11# netegg
可以的,我已经试过了~ 安鸟,蛋蛋~ 回复 12# afan
拆值? 回复 13# netegg
1:90,2:270,3:180,... 回复 14# afan
这倒是应该可以用正则处理了
页:
[1]
2