请教只将符合条件的写入到指定文件
先生好,要将1——12这12个数分成三组,第一组3个数,第二组4个数,第三组5个数,且要求每组的和分别是26,这问题编程后运行下来着实让我吓一跳,因运行后将结果写入到指定文件时,会使指定文件的大小超过2G且还未算完,但这写入指定文件的记录中有许多是有重复数值的,我的要求是这三组共12个值分别是1——12这12个数的不重不漏,所以请教修改代码,谢谢,代码如下(表文件和PRG文件均在附件中):
请教先生.rar
(1.63 KB)
CLEAR
CLOSE all
SET SAFETY OFF
CREATE TABLE 横向搜索表(列1 N(20))
FOR X = 2 TO 12
ALTER table 横向搜索表 ADD ('列'+TRANSFORM(X)) N(20)
ENDFOR
*----------------------
USE 原表
HS=RECCOUNT()
Dimension YB(HS)
select * from 原表 into array YB
*------------------------------------
USE 横向搜索表
FOR H1=1 TO hs
b=Yb(h1)
FOR H2=1 TO hs
c=Yb(h2)
FOR H3=1 TO hs
e=Yb(h3)
FOR H4=1 TO hs
f=Yb(h4)
FOR H5=1 TO HS
g=Yb(h5)
FOR H6=1 TO hs
i=Yb(h6)
FOR H7=1 TO hs
j=Yb(h7)
FOR H8=1 TO hs
k=Yb(h8)
FOR H9=1 TO HS
l=Yb(h9)
*---------
a = 26-b-c
d = 26-e-f-g
h = 26-i-j-k-l
*-----------
IF 1<=a AND a<=12 AND 1<=d AND d<=12 AND 1<=h AND h<=12
&&--在这里想加进代码,使得a、b、......、k、l这12个字母取得的值正好是1——12这12个数的不重复不遗漏的情形。
APPEND BLANK
REPLACE 列1 WITH a
REPLACE 列2 WITH b
REPLACE 列3 WITH c
REPLACE 列4 WITH d
REPLACE 列5 WITH e
REPLACE 列6 WITH f
REPLACE 列7 WITH g
REPLACE 列8 WITH h
REPLACE 列9 WITH i
REPLACE 列10 WITH j
REPLACE 列11 WITH k
REPLACE 列12 WITH l
ELSE
LOOP
ENDIF
*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ENDFOR
ENDFOR
ENDFOR
ENDFOR
ENDFOR
ENDFOR
ENDFOR
ENDFOR
ENDFOR
* ##################################################################
MESSAGEBOX('本 次 运 行 结 束 !!',64,'信息提示')
DELETE FILE *.BAK
QUIT