回 帖 发 新 帖 刷新版面

主题:求助:Visual Fortran 6.5执行出错!

只是个小程序,编译和链接都没有问题,可是执行的时候出现好大的问题。
程序如下:
program ANAIC
REAL *8 S(9,9),XX(9),ES(9),F(9),FF(9),EY,YY
DIMENSION L(9),X(33),LL1(8),LL2(8)
M=8
IS=1
N=33
MS=M*IS+1
KK=1
READ (6,100)X
100 FORMAT(10F10.2)
N1=N-1
DO 5 K=1,N1
5 X(K)=X(K+1)-X(K)
CALL EXCOV(N1,M,IS,MS,KK,S,F,EY,ES,XX,YY,X)
CALL ANA(N1,M,IS,MS,KK,S,YY,XX,ES,EY,L,F,FF,AIC0,II)
II1=II+1
WRITE(2,105)
WRITE(2,106)KK,F(II1)
IF(II.EQ.0)GOTO 53
K=1
DO 51 I=1,II
LL=L(I)
L1=LL/M
L2=LL-L1*M
IF(L2)3,3,4
3 L2=M
GOTO 50
4 L1=L1+1
50 LL1(K)=L1
LL2(K)=L2
51 K=K+1
DO 6 I=1,II
6 WRITE(2,107)F(I),LL2(I),LL1(I)
105 FORMAT(//,4X,'THE MODEL IS:')
106 FORMAT(2X,4HX(K,,I1,2H)=,F6.3)
107 FORMAT(15X,2H+(,F6.3,6H)*X(K-,I1,1H,I1,1H))
53 STOP
END


执行的时候,屏幕显示:

forrtl: 句柄无效。
forrtl: severe (38): error during read, unit 6, file CONIN$

Image PC Routine Line Source

s1.exe 0040CD49 Unknown Unknown Unknown
Incrementally linked image--PC correlation disabled.
Press any key to continue

请教高手,这是怎么回事呢?非常感谢:)

我的操作系统是win7的.

我要读入X的数据是:1.3 3.9 6.9 8.3 11.5 18.7 23.2 31.6 35.0 53.5 46.5 44.0 40.5 59.9 98.6 99.6 155.3 206.3 198.1 171.9 218.8 286.7 324.6 384.9 424.8 381.5 469.6 475.2 675.3 900.9 1037.6 938.0 924.8

回复列表 (共5个回复)

沙发

首先,屏幕输入的话。最好不要写 read( 6

某些编译器把 6 视为屏幕输入,而不是全部编译器。因此,用 read( * 是最好的。

其次,屏幕输入,完全没必要用格式好输入。

直接把
READ (6,100)X
改成:
READ (*,*)X
就行了。

板凳

[quote]首先,屏幕输入的话。最好不要写 read( 6

某些编译器把 6 视为屏幕输入,而不是全部编译器。因此,用 read( * 是最好的。

其次,屏幕输入,完全没必要用格式好输入。

直接把
READ (6,100)X
改成:
READ (*,*)X
就行了。[/quote]
可是我试过了,显示的是severe(161):program exception-array bounds exceeded
可是我的数组就是1维33个观测,输入33个数据才可以,难道这个不对吗?

3 楼

[quote]首先,屏幕输入的话。最好不要写 read( 6

某些编译器把 6 视为屏幕输入,而不是全部编译器。因此,用 read( * 是最好的。

其次,屏幕输入,完全没必要用格式好输入。

直接把
READ (6,100)X
改成:
READ (*,*)X
就行了。[/quote]
老大,能否帮我看看,我的程序在顶楼附件里!怎么样帮数据输入啊!

4 楼

在线等!求各位高手帮忙看看啊!程序在附件里,就只是运行有点问题!论文要开题了,很着急!

5 楼

稍安勿躁,论坛不是QQ,没有那么高的及时性。别人回帖不会马上出现。

你的问题:

程序第 190 行。
 CALL INVER(MA,K,K,S,ISW)

是否应该是

 CALL INVER(MS,K,K,S,ISW)

???

建议你所有程序里写上 Implicit None,这样的错误就可以减少到最低了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册