要求 k1==k2 这个条件,应该不用算那么多
k1是最后的n1,就从最后的第100行起往前算n1就可以,算到非空时就可以结束。
k1是最后的n1,就从最后的第100行起往前算n1就可以,算到非空时就可以结束。
程序代码:FUNCTION k2k3(k2,k3,n1) && 最大值、最次大值
IF n1 > k2
k2 = n1
ELSE
IF n1 > k3
k3 = n1
ENDIF
ENDIF
ENDFUNC[此贴子已经被作者于2021-9-21 12:23编辑过]
程序代码:之前的代码
按连续非空整块比对
FOR nRow=1 TO ALEN(a100,1)
IF EMPTY(a100[nRow,nCol])
n1 = n1 + 1
ELSE
k2k3(@k2,@k3,@n1)
n1 = 0
krow = krow + 1
ENDIF
ENDFOR
FUNCTION k2k3(k2,k3,n1) && 最大值、最次大值
IF n1 > k2
k2 = n1
ELSE
IF n1 > k3 这个算法有问题,有可能 k2==k3 两个都是老大了
k3 = n1
ENDIF
ENDIF
ENDFUN
后来的代码
按非空行比对
FOR nRow=1 TO ALEN(a100,1)
IF EMPTY(a100[nRow,nCol])
n1 = n1 + 1
k2k3(@k2,@k3,@n1)
ELSE
n1 = 0
krow = krow + 1
ENDIF
ENDFOR
FUNCTION k2k3(k2,k3,n1) && 最大值、最次大值
IF n1 > k2 有新的最大时
k3 = k2 原最大变次大
k2 = n1 新的最大
ENDIF
ENDFUNC