标题:请教一个循环算法
只看楼主
凌乱的华丽
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-4-13
结帖率:0
 问题点数:0 回复次数:2 
请教一个循环算法
怎样才能列出组合数组中所有的可能
dim ArrTxt(4,6)
ArrTxt(1,0)=4 '第1列有4行
ArrTxt(1,1)="A1"
ArrTxt(1,2)="A2"
ArrTxt(1,3)="A3"
ArrTxt(1,4)="A4"

ArrTxt(2,0)=3'第2列有3行
ArrTxt(2,1)="B1"
ArrTxt(2,2)="B2"
ArrTxt(2,3)="B3"

ArrTxt(3,0)=2'第3列有2行
ArrTxt(3,1)="C1"
ArrTxt(3,2)="C2"

ArrTxt(4,0)=3'第4列有3行
ArrTxt(4,1)="D1"
ArrTxt(4,2)="D2"
ArrTxt(4,3)="D3"
'-------
'A1  B1 C1 D1
'A2  B2 C2 D2
'A3  B3      D3
'A4

列出所有的组合,如下
A1B1C1D1
A1B1C1D2
A1B1C1D3

A1B1C2D1
A1B1C2D2
A1B1C2D3
......
。。。。

怎样写代码?(列数不一定是4列
2015-07-11 17:28
T_MACC
Rank: 4
等 级:业余侠客
威 望:8
帖 子:99
专家分:211
注 册:2015-4-14
得分:0 
数组 不是直接就能控制吗
2015-07-12 12:56
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
程序代码:
#include <stdio.h>

int main( void )
{
    const char* a[4][4] = { {"A1","A2","A3","A4"}, {"B1","B2","B3"}, {"C1","C2"}, {"D1","D2","D3"} };
    for( size_t i=0; i!=4*3*2*3; ++i )
        printf( "%s%s%s%s\n", a[0][i/(3*2*3)%4]
                            , a[1][i/(2*3)%3]
                            , a[2][i/(3)%2]
                            , a[3][i/(1)%3] );
    return 0;
}
2015-07-13 08:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-455313-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018697 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved