itljl 发表于 2008-10-23 15:15:27

输出数字矩阵更简洁的方法?

程序目的,输出
1 2 3
4 5 6
7 8 9

这样一个数字矩阵,下面是自己写的代码,感觉很复杂,有没有更简洁的方法?谢谢。

Dim $i, $j
Dim $s
Dim $1 = 1, $2 = 3

For $i = 1 To 3
        For $j = $1 To $2
                $s &= $j & " "
        Next
        $1 += 3
        $2 += 3
        $s &= @CRLF
Next

MsgBox(0, "", $s)

rolaka 发表于 2008-10-23 21:14:04

一个for...用mod吧...


$max = 3; 3*3矩阵
dim $var

For $i = 1 To $max*$max
        $var &= " " & $i
        If Mod($i,$max) = 0 Then
                $var &= @CRLF
        EndIf
next

MsgBox(0, "", $var)


[ 本帖最后由 rolaka 于 2008-10-23 21:25 编辑 ]

itljl 发表于 2008-10-24 15:27:30

谢谢楼上的朋友,还有其它方法也可以提出来一起研究一下。

pusofalse 发表于 2008-10-24 16:36:17

$var = inputbox("","")
$str = ""
$x = $var * $var
for $i = 1 to $x
        $str = $str & $i & " "
    if mod ($i,$var) = 0 then $str = $str & @CRLF
Next
MsgBox(0,"",$str)根据bat的代码思路也来一个。

rolaka 发表于 2008-10-24 19:58:20

原帖由 pusofalse 于 2008-10-24 16:36 发表 http://www.autoitx.com/images/common/back.gif
$var = inputbox("","")
$str = ""
$x = $var * $var
for $i = 1 to $x
        $str = $str & $i & " "
    if mod ($i,$var) = 0 then $str = $str & @CRLF
Next
MsgBox(0,"",$str)根据bat的代码思路也来一个。
貌似和我这差不多- -

pusofalse 发表于 2008-10-24 21:34:58

回复 5# rolaka 的帖子

贴出来才发现和朋友的一样,莫怪。。。
向你学习!

rolaka 发表于 2008-10-24 23:53:06

原帖由 pusofalse 于 2008-10-24 21:34 发表 http://www.autoitx.com/images/common/back.gif
贴出来才发现和朋友的一样,莫怪。。。
向你学习!
这bat我以前见过...用mod好似就是从那时候发觉的...

gzken 发表于 2008-10-25 11:23:27

当成字符串处理:

$str="123456789"
$step=3
MsgBox(0, "Split test", StringRegExpReplace(StringRegExpReplace($str,"(.{"&$step&"})","\1"&@CRLF),"(.)","\1 "));
页: [1]
查看完整版本: 输出数字矩阵更简洁的方法?