| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 418 人关注过本帖
标题:请教求特殊和的代码
只看楼主 加入收藏
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
结帖率:73.44%
收藏
已结贴  问题点数:20 回复次数:2 
请教求特殊和的代码
原表有10个数据(1列10行),想求出所有原表中2个数的和、3个数的和、4个数的和及5个数的和,并将求得的和写入新表。现求2个数的和的代码已搞好,但求3个数的和、4个数的和及5个数的和不会搞,求先生指点,谢谢(求2个数的和的代码如下)。

CLEAR
CLOSE  all
SET SAFETY OFF
n=10
DIMENSION sb(10)
USE 原表
select * from 原表 into array sb  
Create table 新表 (编号 N(10))
 ALTER table 新表 ADD 和 N(20)
kk=0
hz=0
FOR i=1 TO N
   FOR j=1 TO N      
     kk=kk+1
     hz=sb(i)+sb(j)
     APPEND BLANK     
     REPLACE 编号 WITH kk
     REPLACE 和 WITH hz   
   ENDFOR
ENDFOR
MESSAGEBOX('求和已结束!',64,'信息提示')
DELETE FILE *.bak
QUIT  
2015-08-11 14:56
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:10 
从 sb 数组的下标(1,2,3,...10)分别取出 2、3、4、5 个sb下标的组合,这时就方便计算出各种组合的和。
2015-08-11 16:12
沙枣
Rank: 4
来 自:宁夏银川
等 级:业余侠客
威 望:5
帖 子:103
专家分:221
注 册:2015-5-31
收藏
得分:10 
回复 楼主 fdxxhjc
你的问题讲得不是太清楚,我想了一下,可能是这样的运算,以5个数相加为例:1+2+3+4+5,1+2+3+4+6,1+2+3+4+7...1+2+3+4+10,1+2+3+5+6,1+2+3+5+7...,逐次后退一行相加,如果是这样,以下的代码可以一次性完成2行、3行、4行、5行各种数据组合的求和,共627种(不包括同一行的数据相加),程序中的“编号”不再代表顺序号,而是代表有几个数相加。



private all
set color to +7/1
CLEAR
CLOSE  all
SET SAFETY OFF
n=10
DIMENSION sb(10),amb(10)
USE 原表
select * from 原表 into array sb  
use
Create table 新表 (编号 N(10))
ALTER table 新表 ADD 和 N(20)
hz=0
FOR i=1 TO N
   amb(1)=sb(i)   
   FOR j=i+1 TO N
     hz=amb(1)+sb(j)
     APPEND BLANK     
     REPLACE 编号 WITH 2
     REPLACE 和 WITH hz
     amb(2)=hz
     for ma=j+1 to n
     hz=amb(2)+sb(ma)
     APPEND BLANK     
     REPLACE 编号 WITH 3
     REPLACE 和 WITH hz
     amb(3)=hz
     for mk=ma+1 to n
     hz=amb(3)+sb(mk)
     APPEND BLANK     
     REPLACE 编号 WITH 4
     REPLACE 和 WITH hz
     amb(4)=hz
     for yy=mk+1 to n
     hz=amb(4)+sb(yy)
     APPEND BLANK     
     REPLACE 编号 WITH 5
     REPLACE 和 WITH hz
     endfor
     endfor
     endfor
    ENDFOR
ENDFOR
wait "以上求和的结果" windows at 16,50 nowait
brow
*MESSAGEBOX('求和已结束!',64,'信息提示')
DELETE FILE *.bak
return


[ 本帖最后由 沙枣 于 2015-8-13 17:02 编辑 ]
2015-08-13 17:00
快速回复:请教求特殊和的代码
数据加载中...
 
   



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

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