| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2947 人关注过本帖, 1 人收藏
标题:请大神帮忙写张表格,就是将总数量为28的两个元素的所有排列与组合都写进表 ...
只看楼主 加入收藏
shuxin211
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-8-26
收藏
得分:0 
以下是引用sdta在2015-8-27 16:00:28的发言:

贴上你的代码

CREATE CURSOR t1 (a1 c(1))
INSERT INTO t1 VALUES ("B")
INSERT INTO t1 VALUES ("P")
SELECT aa.a1 bp1,bb.a1 bp2,cc.a1 bp3,dd.a1 bp4,ee.a1 bp5,ff.a1 bp6,gg.a1 bp7,hh.a1 bp8,ii.a1 bp9,jj.a1 bp10,kk.a1 bp11,ll.a1 bp12,mm.a1 bp13,nn.a1 bp14,oo.a1 bp15,pp.a1 bp16,qq.a1 bp17,rr.a1 bp18,ss.a1 bp19,tt.a1 bp20,uu.a1 bq21,vv.a1 bp22,ww.a1 bp23,xx.a1 bp24 FROM t1 aa,t1 bb,t1 cc,t1 dd,t1 ee,t1 ff,t1 gg,t1 hh,t1 ii,t1 jj,t1 kk,t1 ll,t1 mm,t1 nn,t1 oo,t1 pp,t1 qq,t1 rr,t1 ss,t1 tt,t1 uu,t1 vv,t1 ww,t1 xx
先新建了个表格t1,第一个字段命名a1,后面bp1 bp2……然后直接用的你给的这段代码放进命令框确定,不知道哪里错了。aa bb cc……这些又是什么?需要在新建表格的时候加进去吗?
2015-08-27 16:11
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9820
专家分:27099
注 册:2012-2-5
收藏
得分:0 
回复 21楼 shuxin211
这个代码,在VFP6与VFP9下运行结果正常,都是16777216条记录

坚守VFP最后的阵地
2015-08-27 16:15
shuxin211
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-8-26
收藏
得分:0 
以下是引用吹水佬在2015-8-27 10:38:03的发言:


也就是说,原来的一条记录的内容就可以用一个数值来表示。

多谢吹水版主,你的思路跟TD版主差不多,后面成型的话应该是要这样优化处理才对吧。
2015-08-27 16:15
shuxin211
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-8-26
收藏
得分:0 
以下是引用sdta在2015-8-27 16:15:40的发言:

这个代码,在VFP6与VFP9下运行结果正常,都是16777216条记录

所以说新人伤不起啊,自学的路上莫名奇妙的羁绊太多,这种说不清情况的问题,你们这些大神也是爱莫能助,多谢S版,我再琢磨琢磨。
2015-08-27 16:28
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10567
专家分:43011
注 册:2014-5-20
收藏
得分:0 
以下是引用shuxin211在2015-8-27 16:15:50的发言:


多谢吹水版主,你的思路跟TD版主差不多,后面成型的话应该是要这样优化处理才对吧。

如果我的意思符合要求,那就有可能变得简单多了。
如:一个3位数值可表示B(0)与P(1)的8种组合,可以用1,2,3......7来表示,VFP也提供数值位操作函数BIT..()。
000  0
001  1
010  2
011  3
100  4
101  5
110  6
111  7
2015-08-27 16:48
shuxin211
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-8-26
收藏
得分:0 
以下是引用吹水佬在2015-8-27 16:48:02的发言:


如果我的意思符合要求,那就有可能变得简单多了。
如:一个3位数值可表示B(0)与P(1)的8种组合,可以用1,2,3......7来表示,VFP也提供数值位操作函数BIT..()。
000  0
001  1
010  2
011  3
100  4
101  5
110  6
111  7

用S版主的代码反复试了好几次,项目全部清除又重建,还是只能建张空表,不知道是不是我的软件有问题,崩溃中,吹水版主这个方案能不能帮忙写个完整的代码?多谢了。BP用01代替这个在后面涉及到的计算当中转换应该并不难。
2015-08-27 18:26
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10567
专家分:43011
注 册:2014-5-20
收藏
得分:0 
回复 26楼 shuxin211
3位的数值有0--7种组合,28位的数值有多少种组合0--?这个已经是明摆着的。
至于某个组合的数值转换为BP组合,用BIT...()之类的函数可以取得各位是0(B)还是1(P),。
用3位的数值有0--7种组合为例:
程序代码:
n位数 = 3
FOR k=0 TO 7
    n数值 = k
    ?
    FOR i = 0 TO n位数-1
        bp = BITRSHIFT(BITLSHIFT(n数值, 32 - n位数 + i), 31)
        ?? IIF(bp==0, "B", "P")
    ENDFOR
ENDFOR
2015-08-27 19:49
shuxin211
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-8-26
收藏
得分:0 
以下是引用吹水佬在2015-8-27 19:49:52的发言:

3位的数值有0--7种组合,28位的数值有多少种组合0--?这个已经是明摆着的。
至于某个组合的数值转换为BP组合,用BIT...()之类的函数可以取得各位是0(B)还是1(P),。
用3位的数值有0--7种组合为例:
n位数 = 3
FOR k=0 TO 7
    n数值 = k
    ?
    FOR i = 0 TO n位数-1
        bp = BITRSHIFT(BITLSHIFT(n数值, 32 - n位数 + i), 31)
        ?? IIF(bp==0, "B", "P")
    ENDFOR
ENDFOR

多谢版主,这个代码完全看不懂,执行命令提示嵌套错误,这鸟玩意这么难学。
2015-08-27 21:07
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10567
专家分:43011
注 册:2014-5-20
收藏
得分:0 
回复 28楼 shuxin211
你也可以理解为10进制与二进制的互换的算法,方法有多种的。
2015-08-27 22:32
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10567
专家分:43011
注 册:2014-5-20
收藏
得分:0 
以下是引用shuxin211在2015-8-27 21:07:56的发言:


多谢版主,这个代码完全看不懂,执行命令提示嵌套错误,这鸟玩意这么难学。

就几行代码两个按位左移右移函数,不难读懂吧?
2015-08-27 22:37
快速回复:请大神帮忙写张表格,就是将总数量为28的两个元素的所有排列与组合都写 ...
数据加载中...
 
   



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

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