好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 deng116118 于 2024-8-4 04:40 编辑
未经验证,仅供参考,内容来源于GPT4o
[C] 纯文本查看 复制代码 .版本 2
.程序集 窗口程序集_主窗口
.子程序 __启动窗口_创建完毕
.局部变量 参数1, 文本型
.局部变量 参数2, 文本型
.局部变量 参数3, 文本型
.局部变量 参数4, 文本型
.局部变量 参数5, 整数型
参数1 = “A|AA|AAA”
参数2 = “B|CC”
参数3 = “C”
参数4 = “D”
参数5 = 3
调试输出 (组合 (参数1, 参数2, 参数3, 参数4, 参数5))
.子程序 组合, 文本型, , 文本型 参数1, 文本型 参数2, 文本型 参数3, 文本型 参数4, 整数型 参数5
.局部变量 结果数组, 文本型, , 0
.局部变量 组合数组1, 文本型, , 0
.局部变量 组合数组2, 文本型, , 0
.局部变量 是多对多, 逻辑型
.如果 (找到文本 (参数2, "|", 1) > 0)
是多对多 = 真
.否则
是多对多 = 假
.如果结束
组合数组1 = 全排列组合 (分割文本 (参数1, "|"))
.如果 (是多对多)
组合数组2 = 全排列组合 (分割文本 (参数2, "|"))
结果数组 = 多对多组合生成 (组合数组1, 组合数组2, 参数3, 参数4)
.否则
结果数组 = 多对一组合生成 (组合数组1, 参数2, 参数3, 参数4)
.如果结束
返回 (结果数组)
.子程序 多对一组合生成, 文本型, , 文本型 数组1, 文本型 参数2, 文本型 参数3, 文本型 参数4
.局部变量 结果数组, 文本型, , 10
.局部变量 索引, 整数型
.局部变量 计数, 整数型
计数 = 0
.计次循环首 (取数组成员数 (数组1), 索引)
结果数组 [计数] = 数组1 [索引 - 1] + “,” + 参数2 + “,” + 参数3
计数 += 1
结果数组 [计数] = 数组1 [索引 - 1] + “,” + 参数2 + “,” + 参数4
计数 += 1
结果数组 [计数] = 数组1 [索引 - 1] + “,” + 参数3 + “,” + 参数4
计数 += 1
.计次循环尾 ()
返回 (结果数组)
.子程序 多对多组合生成, 文本型, , 文本型 数组1, 文本型 数组2, 文本型 参数3, 文本型 参数4
.局部变量 结果数组, 文本型, , 17
.局部变量 索引1, 整数型
.局部变量 索引2, 整数型
.局部变量 计数, 整数型
计数 = 0
.计次循环首 (取数组成员数 (数组1), 索引1)
.计次循环首 (取数组成员数 (数组2), 索引2)
结果数组 [计数] = 数组1 [索引1 - 1] + “,” + 数组2 [索引2 - 1] + “,” + 参数3
计数 += 1
结果数组 [计数] = 数组1 [索引1 - 1] + “,” + 数组2 [索引2 - 1] + “,” + 参数4
计数 += 1
.计次循环尾 ()
.计次循环尾 ()
.计次循环首 (取数组成员数 (数组2), 索引2)
结果数组 [计数] = 数组2 [索引2 - 1] + “,” + 参数3 + “,” + 参数4
计数 += 1
.计次循环尾 ()
返回 (结果数组)
.子程序 全排列组合, 文本型, , 文本型 数组1
.局部变量 组合数组, 文本型, , 0
.局部变量 索引, 整数型
.计次循环首 (取数组成员数 (数组1), 索引)
调用 组合数组.添加 (数组1 [索引 - 1])
.计次循环尾 ()
返回 (组合数组)
[C] 纯文本查看 复制代码 .版本 2
.程序集 窗口程序集_主窗口
.子程序 __启动窗口_创建完毕
.局部变量 参数1, 文本型
.局部变量 参数2, 文本型
.局部变量 参数3, 文本型
.局部变量 参数4, 文本型
.局部变量 参数5, 整数型
参数1 = “A|AA|AAA”
参数2 = “B|CC”
参数3 = “C”
参数4 = “D”
参数5 = 3
调试输出 (组合 (参数1, 参数2, 参数3, 参数4, 参数5))
.子程序 组合, 文本型, , 文本型 参数1, 文本型 参数2, 文本型 参数3, 文本型 参数4, 整数型 参数5
.局部变量 所有参数数组, 文本型, , 0
.局部变量 结果数组, 文本型, , 0
.局部变量 临时数组, 文本型, , 0
.局部变量 是多对多, 逻辑型
所有参数数组 = 取所有参数数组 (参数1, 参数2, 参数3, 参数4)
是多对多 = 假
.计次循环首 (取数组成员数 (所有参数数组), 索引)
.如果 (找到文本 (所有参数数组 [索引 - 1], "|", 1) > 0)
是多对多 = 真
.退出循环 ()
.如果结束
.计次循环尾 ()
.如果 (是多对多)
结果数组 = 生成多对多组合 (所有参数数组, 参数5)
.否则
结果数组 = 生成多对一组合 (所有参数数组, 参数5)
.如果结束
返回 (结果数组)
.子程序 取所有参数数组, 文本型, , 文本型 参数1, 文本型 参数2, 文本型 参数3, 文本型 参数4
.局部变量 所有参数数组, 文本型, , 0
调用 所有参数数组.添加 (参数1)
调用 所有参数数组.添加 (参数2)
调用 所有参数数组.添加 (参数3)
调用 所有参数数组.添加 (参数4)
返回 (所有参数数组)
.子程序 生成多对一组合, 文本型, , 文本型 所有参数数组, 整数型 参数5
.局部变量 结果数组, 文本型, , 0
.局部变量 临时数组, 文本型, , 0
.局部变量 索引, 整数型
.局部变量 组合结果, 文本型, , 0
临时数组 = 全排列组合 (所有参数数组, 参数5)
.计次循环首 (取数组成员数 (临时数组), 索引)
调用 结果数组.添加 (临时数组 [索引 - 1])
.计次循环尾 ()
返回 (结果数组)
.子程序 生成多对多组合, 文本型, , 文本型 所有参数数组, 整数型 参数5
.局部变量 结果数组, 文本型, , 0
.局部变量 临时数组, 文本型, , 0
.局部变量 临时数组2, 文本型, , 0
.局部变量 索引, 整数型
.局部变量 索引2, 整数型
.局部变量 组合结果, 文本型, , 0
临时数组 = 全排列组合 (所有参数数组, 参数5)
.计次循环首 (取数组成员数 (临时数组), 索引)
临时数组2 = 分割文本 (临时数组 [索引 - 1], ",")
.计次循环首 (取数组成员数 (临时数组2), 索引2)
.如果 (找到文本 (临时数组2 [索引2 - 1], "|", 1) > 0)
临时数组2 = 全排列组合 (分割文本 (临时数组2 [索引2 - 1], "|"))
.计次循环首 (取数组成员数 (临时数组2), 索引2)
调用 结果数组.添加 (临时数组2 [索引2 - 1])
.计次循环尾 ()
.否则
调用 结果数组.添加 (临时数组2 [索引2 - 1])
.如果结束
.计次循环尾 ()
.计次循环尾 ()
返回 (结果数组)
.子程序 全排列组合, 文本型, , 文本型 数组1, 整数型 数量
.局部变量 组合数组, 文本型, , 0
.局部变量 临时数组, 文本型, , 0
.局部变量 索引, 整数型
.计次循环首 (取数组成员数 (数组1), 索引)
.如果 (数量 = 1)
调用 组合数组.添加 (数组1 [索引 - 1])
.否则
临时数组 = 全排列组合 (数组1, 数量 - 1)
.计次循环首 (取数组成员数 (临时数组), 索引2)
调用 组合数组.添加 (数组1 [索引 - 1] + "," + 临时数组 [索引2 - 1])
.计次循环尾 ()
.如果结束
.计次循环尾 ()
返回 (组合数组)
第二次生成的代码
|
|