不是很懂你这个需求具体操作是怎样的。建议详细描述下。
经常在“if...then...”语句中,if cross(ma(c,10),ma(c,20)) then......提示非法,那么‘cross(ma(c,10),ma(c,20))‘用数组形式怎么表述?
我这样写:
INPUT:N(10,1,300),M(20,1,60);
VARIABLE:FC:=C,p=0,q=0;
FOR i=1 TO DATACOUNT DO BEGIN
p:=p+FC[i];
IF i>n THEN BEGIN
p:=p-FC[i-n];
M10[i]:p/n; //实现MA(C,N)
END;
END;
FOR j=1 TO DATACOUNT DO BEGIN
q:=q+FC[j];
IF j>m THEN BEGIN
q:=q-FC[j-m];
M20[j]:q/m; //实现MA(C,m)
END;
END;
jc:if(m10[i-1]<m20[j-1],m10[i]>m20[j],0); 为何提示下标越界或超出有效数据区间
A:cross(ma(c,10),ma(c,20));
IF a then .......;
这样就解决了。