作者iammyfriend (台南玄野计!)
站内Fortran
标题[问题] 求助 The shapes of the array expressio
时间Tue Dec 2 01:03:05 2014
我的程式是这样
DISPERSION PROGRAM
C 1-D, EXPLICIT SCHEME
real C(182),F(182),CN(182),E(182),ZNDA
+DX,DT,K
integer INDX
c DIMENSION
C OPEN (5, FILE='A5.DAT', STATUS='NEW')
OPEN (6, FILE='A6.OUT', STATUS='OLD')
C READ(5,*) DX, DT, K
DX=1.0
DT=1.0
K=0.1
WRITE(6,*) INDX, I, DX, DT, K
INDX=0
20 DO 40,I=1,9
C(I)=0
40 CONTINUE
C(5)=10
DX=1.0
DT=1.0
K=0.1
ZNDA=K*DT/(DX)**2
A=-ZNDA
110 B=1+2*ZNDA
C=-ZNDA
130 WRITE(*,*)"t=",INDX
INDX=INDX+1
E(2)=0
F(2)=C(1)
DO 210, I=3,9
D=C(I)
E(I)=-C/(A*E(I-1)+B)
F(I)=(D-A*F(I-1))/(A*E(I-1)+B)
210 CONTINUE
220 DO 250,I=1,7
J=9-I
CN(J)=E(J+1)*C(J+1)+F(J+1)
250 CONTINUE
DO 280,I=1,9
C(I)=CN(I)
280 CONTINUE
cc WRITE(*,*)"t=",INDX
290 IF(MOD (INDX+60,60).NE.0)GO TO 220
WRITE(1,*)(C(I),I=2,8)
310 IF(INDX.LT.1440)GO TO 110
STOP
END
按ctrl+f7之後~
它说有错误 如下
--------------------Configuration: 1DIS - Win32 Debug--------------------
Compiling Fortran...
E:\1DIS3\1DIS.FOR
E:\1DIS3\1DIS.FOR(39) : Error: The shapes of the array expressions do not
conform. [E]
E(I)=-C/(A*E(I-1)+B)
------^
Error executing df.exe.
1DIS.OBJ - 1 error(s), 0 warning(s)
想请问是否我没定义E(I)才会出现这种错误??
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 125.230.83.253
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Fortran/M.1417453388.A.543.html
1F:推 rex0707: ㄜ...是不是很多人写程式都不喜欢加IMPLICIT NONE?? 12/02 12:46
2F:→ fcuiii: C应该是阵列 C(1) 12/02 15:06
3F:→ iammyfriend: 加了IMPLICIT NONE 我还是错误 XD. 12/02 20:08