netegg 发表于 2012-10-17 00:26:09

本帖最后由 netegg 于 2012-10-17 02:21 编辑

回复 15# sanye000001
不对呀,你这个怎么定义数组
$a 不能赋值5个值的数组

sanye000001 发表于 2012-10-18 17:39:22

回复 16# netegg


    我说的是c语言里面啊,现在到这里就不行了

netegg 发表于 2012-10-18 17:58:44

回复 17# sanye000001

那没办法了,这个不是靠编辑能整出来的,除非改autoit的内核代码了

3mile 发表于 2012-10-19 13:43:17

数组里放入数组不是不可以,但是个人觉得,反而容易让人迷惑,甚至引发程序不可知的BUG
#include<array.au3>
Local $aA=[,,]

Local $A;定义一维数组

For $i = 0 To UBound($aA, 1)-1
        Local $temp
        For $k=0 To UBound($aA,2)-1
                $temp[$k]=$aA[$i][$k]
        Next
        $A[$i]=$temp
next

$int=InputBox("提取","想要提取的一维数组","共有"&UBound($A)&"个一维数组")
If Not @error Then
        Local $temp
        $temp=$A[$int-1]
        _ArrayDisplay($temp)
EndIf

sanye000001 发表于 2012-10-20 20:00:34

回复 19# 3mile


    多谢大哥。

kevinch 发表于 2012-10-21 11:25:27

用你要的那个一维数组记录对应的二维数组行号就行了,需要的时候根据行号到二维数组里去读取那一行的内容

sanye000001 发表于 2012-10-29 20:12:16

回复 19# 3mile


    for $a=0 to 10 step 1
               for $a=0 to 10 step 1
                  for $a=0 to 10 step 1
                        for $a=0 to 10 step 1
                               ……(有N个for语句)
                     ……(有N个next语句)
                  next
                     next
               next
         next
怎么把N个for语句(N是个变量),用简短的语句实现,谢谢。

3mile 发表于 2012-10-30 00:00:09

回复 22# sanye000001
新问题请开新贴,便于以后坛友查找.
貌似你这个循环有问题,变量只有一个$a.

也许你想的循环体是这样的?或者作个这样的假定吧.For $a=0 to 10
        For $b=0 to 10
                For $c=0 to 10
                        ToolTip($c)
                Next
        Next
Next这里可以作以下变形,但不知道执行效率是否会变低.
实际还是循环1千次,并且某个数值变化控制在10以内.
Local $n=1,$k=1
While ($n<11 and $k<101)
        ToolTip($n)
        Sleep(100)
        $n+=1
        If $n>10 Then
                $n=1
                $k+=1
        EndIf
WEnd
页: 1 [2]
查看完整版本: 复杂的二维数组怎么转化成一维数组