作者yauhh (哟)
看板Visual_Basic
标题Re: [VBA ] 列出矩阵内所有排列组合的值
时间Sat Nov 10 22:18:47 2012
这好像只是个纯问题,跟VBA无关,对吗?
※ 引述《neocc (neo)》之铭言:
: 请问我要怎麽列印出矩阵里面的值 所有排列组合的状况呢?
: ex: M={(1,2),(3,4)} 印出 col1 col2
: row1 1 2
: row2 1 4
: row3 3 2
: row4 3 4
: 共有四种 印到储存格里面
本来是一个矩阵 [1,2] 中间插入二行,把交叉的部份展开变成 [1,2]
[3,4] [1,4]
[3,2]
[3,4]
: M={(1,2),(3,4),(5,6)} 会有9种组合
: 这是简单的情况..
: 我的矩阵内 情形是这样 M是7*7, 里面会有0值与非零值 以下是举例
: M={(1,2,0,0..,0),(9,5,3,1,0..0),(7,6,3,0,0..0),(0,0,0...0)....(0,0,...0)}
: 我印出来的条件 :
: 1, 遇到有 组合里面有0的就不印 例如(1,3,7,0,0,0,0)这种组合
: ==========如果能达到第一条件写出这样小弟已经很佩服..以下是附加条件
这意思就是,像前面的矩阵如果是 [1,0] 展开为 [1,0]
[3,4] [1,4]
[3,0]
[3,4]
意思是这样要把 [1,0], [3,0] 丢掉,对吗?
: 2, (1,2,x,y,z,a,b),和 (2,1,x,y,z,a,b)这种组合 是一样的
: (第1和2数字互调视为相同)
视为相同很简单,可问题是如果相同,是要丢掉哪一组?
我猜有可能是 (1,2,...) 与其他组的搭配, 都会和 (2,1,...)与其他组
的搭配彼此视为相同. 所以其实就从根本开始,把 (2,1,...) 丢掉就好.
: 3, (1,x,y,2,z,a,b),和 (2,x,y,1,z,a,b)这组合 是不一样的
: 就是第一, 第二数字 彼此互调 视为相同组合
: 其他位置的数字互调 都算不同组合
这跟第2点是同一件事情. 只要处理掉第2点那些特殊情况,即可达成.
: ==========全部达到的话我觉得是神人了>< 我想超久阿!!
这样讲是要制造什麽先入为主的观念吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.226.96.43
1F:→ neocc:谢谢你的提示^^ 11/11 00:20