运行的时候提示IA数组越界,然后自己查看了下代码,怀疑是KI=I,KI=I-1这里的原因,但不是很确定。所以希望有大神可以指点一下。万分感谢!!!
[Fortran] 纯文本查看 复制代码 IF(HIN.LT.0.0) THEN !为非饱和状态
IF(INDEX.EQ.0) THEN !排水
DO I=1,N
IF(B(I,1).GT.BC) THEN
IA(I,1)=-1
ENDIF
IF(B(I,M).GT.BC) THEN
IA(I,M)=-1
ENDIF
ENDDO
DO J=2,M-1
DO I=1,N
IF(IA(I,J-1).EQ.-1.AND.B(I,J).GT.BC) THEN
IA(I,J)=-1
KI=I
10 KI=KI-1
IF(KI.GE.1) THEN
IF(B(KI,J).GT.BC) THEN
IA(KI,J)=-1
GOTO 10
ENDIF
ENDIF
KI=I |