标题:请教搜索无重复的行
只看楼主
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
回复 18楼 吹水佬
有些时候会出现“无重复数字的10行”的块的,那我想不管原表的行的次序如何改变,运行后这样的“无重复数字的10行”的块至少应该有一块吧,为何会出现无解的情况呢

2018-07-23 16:14
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 21楼 fdxxhjc
记录顺序变了,比对结果不同的吧。
2018-07-23 16:43
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
以下是引用fdxxhjc在2018-7-23 14:43:45的发言:

为此我把这个问题的思路要求以文字的形式再疏理了下并贴上:

    逻辑要求再说明如下:总的要求是以每一行为标准与“原表”的312行都作一次比对。
 第一轮(整个运行过程相当于有312轮):
    第一轮的第1步:以第一行为标准,与第一行比对有重复(自比对有重复即回避,以下同),第一行与第二行作比对,比对的结果有二种可能,第一种是:第一行中的10个数与第二行中的10个数均无重复时,则第二行符合要求;第二种是:第一行中的10个数与第二行中的10个数有一对及以上的重复时则第二行不符合要求。
    第一轮的第2步:当第一步下来第二行若是符合要求的,则以第一第二行共20个数为标准与第三行比对(当第一步下来若第二行不符合要求,则只有第一行的10个数与第三行比对)。
    第一轮的第3步:这步中作为标准的数可能有30个(前二次比对下来都符合要求)也有可能是20个(前二步中其中有一步符合一步不符合)也有可能还只有10个(前二步下来均不符合要求),此时以30个数或20个数或10数为标准与第四行进行比对,直至以前面311行比对的结果为标准与第312行进行比对,并将最后符合要求的各行写入“比较后”。
 第二轮:以第二行为标准,先与第一行比对,可能性与第一轮相似,与第二行自相比对即回避,再将比对的结果为标准与第三行进行比对,直到与第312行进行比对,并将比对结果写入“比较后”。
……
第三佰十二轮:即以312行为标准与第一行进行比对,直至与312比对,至此运行结束。

原表的行次序不管如何变动,当每一行均与全表的312都作一次上述的比对,那至少应该有一次这样的“无重复的10行”的块存在吧
2018-07-23 19:00
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
回复 22楼 吹水佬
以下是引用fdxxhjc在2018-7-23 14:43:45的发言:

为此我把这个问题的思路要求以文字的形式再疏理了下并贴上:

    逻辑要求再说明如下:总的要求是以每一行为标准与“原表”的312行都作一次比对。
 第一轮(整个运行过程相当于有312轮):
    第一轮的第1步:以第一行为标准,与第一行比对有重复(自比对有重复即回避,以下同),第一行与第二行作比对,比对的结果有二种可能,第一种是:第一行中的10个数与第二行中的10个数均无重复时,则第二行符合要求;第二种是:第一行中的10个数与第二行中的10个数有一对及以上的重复时则第二行不符合要求。
    第一轮的第2步:当第一步下来第二行若是符合要求的,则以第一第二行共20个数为标准与第三行比对(当第一步下来若第二行不符合要求,则只有第一行的10个数与第三行比对)。
    第一轮的第3步:这步中作为标准的数可能有30个(前二次比对下来都符合要求)也有可能是20个(前二步中其中有一步符合一步不符合)也有可能还只有10个(前二步下来均不符合要求),此时以30个数或20个数或10数为标准与第四行进行比对,直至以前面311行比对的结果为标准与第312行进行比对,并将最后符合要求的各行写入“比较后”。
 第二轮:以第二行为标准,先与第一行比对,可能性与第一轮相似,与第二行自相比对即回避,再将比对的结果为标准与第三行进行比对,直到与第312行进行比对,并将比对结果写入“比较后”。
……
第三佰十二轮:即以312行为标准与第一行进行比对,直至与312比对,至此运行结束。

原表的行次序不管如何变动,当每一行均与全表的312都作一次上述的比对,那至少应该有一次这样的“无重复的10行”的块存在吧
2018-07-23 19:01
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
回复 22楼 吹水佬
原表在某种记录顺序的时候有多块“无重复的10行”的块,那不管原表的行的次序作任何的随机变动,当原表中的每一行均与全表(全表行数为312行)作一次上述要求的比对下,至少应该存在一块这样的“无重复数字的10行”的块,所以我以为我的代码在每一行均与全表(全表312行)作上述要求的比对时有部分遗漏了,请先生指点,谢谢

[此贴子已经被作者于2018-7-23 19:12编辑过]

2018-07-23 19:08
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
记录不同,列值的规律也是不同的,结果中不一定有10条记录的块

坚守VFP最后的阵地
2018-07-23 19:10
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
只要代码正确,不要纠结10条记录的块。比对我和吹版代码的结果,看是否有不符合的结果。

坚守VFP最后的阵地
2018-07-23 19:12
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
回复 27楼 sdta
先生我举个例子如果当以第一行为标准与全表312均作比对的情况下存在“无重复数字的10行”的块,那这个第一行无论放在余下的311的某二行之间,以“每行均与全表作一次同样操作”的情况下,当遇到原来的第一行作为标准时不是又能得到“无重复数字的10行”的块了吗,现在怎么会有“无出现这样的块”的情况呢
2018-07-23 19:19
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 

不重复的块中所有数据是没有重复的,这是前提。

坚守VFP最后的阵地
2018-07-23 19:34
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
得分:0 
回复 29楼 sdta
是的,像这块中的第一行就是原表中的第一行,当这个第一行不管放在何处的情况下,一旦遇到以这行为标准的情况下他总可再次分别遇到这“10行”块中的各行,也就应该至少存在这样的“一块”吧

[此贴子已经被作者于2018-7-23 19:42编辑过]

2018-07-23 19:38



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




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

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