| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2362 人关注过本帖
标题:请教循环语句
只看楼主 加入收藏
qiaolinxj
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2009-3-14
收藏
得分:0 
以下是引用bccn0906在2013-11-26 17:43:01的发言:

CY2里的记录不是来自 cy1的吗,这又怎么与WX对上号呢?
是的,wx就是无效样本,CY2是被替换的有效样本,从CY1里取得,但是是根据WX里的每类每层的个数来从CY1里同类同层里取得,取得的标志就是随机数从小到大所需的个数。
现在就是WX里有2000家样本,但是因为CY1里有些层不满足此层的个数大于WX此层个数+5,所以停止执行。这样一共符合条件的就是大概1000个样本,现在就是这一千个样本必须找到它对应的WX里的样本,因为2张表示没有关联字段,所以我考虑用指针,比如CY2的第一家样本根据它的大类它的层找到WX里样本相对应的个数,再用WX里的这几家样本个数RADOM排序,最小的对应第一家样本,在wx的B2字段里标记一下,例如填个1,那执行CY2里本层第二家样本时,对应的WX本层样本数就排除刚才标记了的那家样本,用剩余的几家样本RODAM排序,取最小的对应第二家,然后以此类推。还有就是当找到了对应的样本得把WWX里code字段、hl字段的值填到CY2对应样本的code和HL字段里。不知道我说明白了没,表达能力实在有限,谢谢啦

[ 本帖最后由 qiaolinxj 于 2013-11-26 18:57 编辑 ]
2013-11-26 18:55
bccn0906
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:蜘蛛侠
威 望:2
帖 子:414
专家分:1183
注 册:2013-10-16
收藏
得分:0 
....

[ 本帖最后由 bccn0906 于 2013-11-28 15:30 编辑 ]
2013-11-26 20:51
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
真是看不明白。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2013-11-26 22:11
qiaolinxj
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2009-3-14
收藏
得分:0 
回复 22楼 bccn0906
你好,我想直接在CY2和WX里操作,就利用你最后那段程序不知道可行么,问题是我最小值取数不会,就是红色的AND后面还得写个取最小随机数吧,另外随机数是已经赋好值了
SELECT 2
USE CY2
 SCAN
 FOR I=1 TO 1118
     SELECT 1
     USE WX
     SELECT hydl,fc,COUNT(*) as s FROM cy1  GROUP BY hydl,fc
     LOCATE FOR  hydl=cy2.hydl AND fc=cy2.fc AND not(bZ2=='1') AND
     
     IF FOUND()
         REPLACE bZ2 WITH '1' IN wx
         REPLACE WIGHT0 WITH WX.WEIGHT,NH0 WITH wx.Nh code10 WITH WX.code1,NH10 WITH wx.Nhl IN cy2
     ELSE
         =MESSAGEBOX('错误',64,'提示')
     ENDIF
       ENDFOR
     SELECT cy2
 ENDSCAN
 CLOSE DATABASES
2013-11-27 11:17
bccn0906
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:蜘蛛侠
威 望:2
帖 子:414
专家分:1183
注 册:2013-10-16
收藏
得分:0 
回复 24楼 qiaolinxj
....

[ 本帖最后由 bccn0906 于 2013-11-28 15:30 编辑 ]
2013-11-27 11:28
bccn0906
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:蜘蛛侠
威 望:2
帖 子:414
专家分:1183
注 册:2013-10-16
收藏
得分:0 
.....

[ 本帖最后由 bccn0906 于 2013-11-28 15:30 编辑 ]
2013-11-27 11:35
qiaolinxj
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2009-3-14
收藏
得分:0 
回复 26楼 bccn0906
是啊,赋在RANDOM字段里啊,好像我上面拼错了,呃,不好意思。另外CY2里这张表我已经抽好了1118条,现在就是要找到每条和它相对应的WX里的样本
2013-11-27 12:07
bccn0906
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:蜘蛛侠
威 望:2
帖 子:414
专家分:1183
注 册:2013-10-16
收藏
得分:0 
....

[ 本帖最后由 bccn0906 于 2013-11-28 15:31 编辑 ]
2013-11-27 13:44
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:0 
以下是引用qiaolinxj在2013-11-25 16:39:34的发言:

写了这个循环语句,结果是出来了,但是不知道怎么能在CY1里标记
sele 1
use cy1.dbf
sele 2
use yb.dbf
sele 3
use wx.dbf
SELECT 4
USE cy2.dbf
SELECT 4
DELETE ALL
PACK

for i=53 to 89
    for m=1 to 5
        sele 2
        sele * from yb where hydl=i and fc=m into dbf ls1
        SELECT ls1
        n=RECCOUNT()
        k=n+5
        SELECT 1
        SELECT * FROM cy1 WHERE hydl=i AND fc=m INTO dbf ls2
        SELECT ls2
        s=RECCOUNT()
        IF k<=s
            SELECT 3
            SELECT * FROM wx WHERE hydl=i AND fc=m INTO dbf ls3
            SELECT ls3
            x=RECCOUNT()
            IF x<>0
                SELECT top x * FROM cy1 ORDER BY random WHERE hydl=i AND fc=m INTO dbf ls4
                SELECT 4
                APPEND FROM ls4
                SELECT ls4
                USE
                DELETE FILE ls4.dbf
            ENDIF  

            SELECT ls3
            USE
            DELETE FILE ls3.dbf
            
        ENDIF
        SELECT ls1
        USE
        DELETE FILE ls1.dbf
        SELECT ls2
        USE
        DELETE FILE ls2.dbf
        
    ENDFOR
ENDFOR
 CLOSE ALL
都是老师教的吧,这样打开表,还要选择 1区、2区,看代你码都晕死了,看多一下就不知哪区和这区了。
sele 1
use cy1.dbf
sele 2
use yb.dbf
。。。
        sele 2
        sele * from yb where hydl=i and fc=m into dbf ls1
        SELECT ls1
        n=RECCOUNT()
        k=n+5
        SELECT 1
        SELECT * FROM cy1 WHERE hydl=i AND fc=m INTO dbf ls2
。。。。。
2013-11-27 18:36
qiaolinxj
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2009-3-14
收藏
得分:0 
回复 29楼 kiff
额,谢谢啦,这还真是十年前的毕业设计老师教的,后来一直很少用VF,很多东西都忘记了,额
2013-11-27 19:59
快速回复:请教循环语句
数据加载中...
 
   



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

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