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

你用的可能是VFP6,直接用下面代码吧

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

请问S版,执行这段代码之前除了新建一张以t1命名,字段1=a1的表之外还需要做什么准备工作吗?搞了一天这个代码都搞不定,我电脑是win8.1系统,难道是少了什么支持的玩意?但是又并没有报错啊,VFP是9.0sp2的,我仔细检查了安装包,跟论坛提供下载的安装包是一模一样的,都是王苏汉化的版本。在excel里很容易实现的东西在这里怎么就这么难,搞的人恼火。
2015-08-27 22:41
shuxin211
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-8-26
收藏
得分:0 
以下是引用吹水佬在2015-8-27 22:37:10的发言:


就几行代码两个按位左移右移函数,不难读懂吧?

不知道在执行你这个代码之前需要先做什么准备工作吗?我是刚由excel转学这个,看不懂代码也正常吧,关键是执行代码的时候提示嵌套错误,我把那几处汉字去掉再执行,也还是提示嵌套错误。
2015-08-27 23:00
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
列了一下28位的前10组数值(0...9)对应的BP表,看看是否所要的结果,不是的话就白搭了。
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-08-27 23:02
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
这个是28位的最后10组数值对应的BP表

图片附件: 游客没有浏览图片的权限,请 登录注册
2015-08-27 23:09
shuxin211
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-8-26
收藏
得分:0 
以下是引用吹水佬在2015-8-27 23:02:09的发言:

列了一下28位的前10组数值(0...9)对应的BP表,看看是否所要的结果,不是的话就白搭了。

用28位的话一张表恐怕写不下吧?总共有268435456条记录就不会错,能写下就更好,写不下的话就用26位好了,总共67108864条记录就不会错,多谢了。
2015-08-27 23:11
shuxin211
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-8-26
收藏
得分:0 
以下是引用吹水佬在2015-8-27 23:09:30的发言:

这个是28位的最后10组数值对应的BP表

没错,是对的,太感谢了。
2015-08-27 23:15
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
回复 35楼 shuxin211
只是268435456个数值加多个0(0,1,2,...,268435455,268435456),放得下吧?就看你的表结构设计,VFP可用到10亿条记录。
2015-08-27 23:21
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
回复 32楼 shuxin211
提示嵌套错误,就两层FOR...ENDFOR,将里面的*掉能排查出吧?
就几行代码,重新输入代码也不难。
2015-08-27 23:25
shuxin211
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-8-26
收藏
得分:0 
CLEAR
SET TALK OFF
n位数 = 28
FOR k=0 TO 268435455
    n数值 = k
    ? k, "…"
    FOR i = 0 TO n位数-1
        bp = BITRSHIFT(BITLSHIFT(n数值, 32 - n位数 + i), 31)
        ?? " " + (bp==0, "B", "P")
    ENDFOR
ENDFOR

执行以上代码,还是TMD嵌套错误,日了狗了,看来不是我的系统有问题就是我的VFP9.0有问题了。
2015-08-27 23:27
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
只是一个示例代码。
无需 FOR k=0 TO 268435455
这样太浪费时间,用?列示无实际意义。
实际应用可按需要完善代码。
2015-08-27 23:42
快速回复:请大神帮忙写张表格,就是将总数量为28的两个元素的所有排列与组合都写 ...
数据加载中...
 
   



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

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