Fortran Coder

标题: 求助,关于:forrtl设备未就绪问题 [打印本页]

作者: komae    时间: 2015-6-22 18:06
标题: 求助,关于:forrtl设备未就绪问题
编译环境:IVF 2013,compliers XE 2013
用QUICK WIN作图
代码如下:
[Fortran] 纯文本查看 复制代码
USE DFLIB
integer,PARAMETER::IR=400
    integer,parameter::JR=400
      INTEGER  IS(0:IR+1,0:JR+1),TMAX,ISN(1:8),NSTATE,T,NR,IX,IY
WRITE(*,*)"PLEASE INPUT THE TIME STEP "
READ(*,*)TMAX
ISEED=RTC()
IRC=IR/2
JRC=JR/2
R=MIN(IRC,JRC)-10
IS=1
      DO I=1,IR
  DO J=1,JR
    DISTANCE=SQRT(1.0*(I-IRC)**2+1.0*(J-JRC)**2)
     IF(DISTANCE.LT.R)IS(I,J)=2
      ISE=SETCOLOR(IS(I,J))
      ISE=SETPIXEL(I,J)
   END DO         
END DO
OPEN(1,FILE="E:\LUKE.DAT")
!
      DO T=1,TMAX
     DO X=1,IR
      DO Y=1,JR
          IX=IR*RAN(ISEED)+1
          JY=JR*RAN(ISEED)+1
    ISN=(/IS(IX-1,JY-1),IS(IX-1,JY),IS(IX-1,JY+1),IS(IX,JY-1) ,IS(IX,JY+1),IS(IX+1,JY-1),IS(IX+1,JY),IS(IX+1,JY+1)/)
         E0=COUNT(ISN.NE.IS(IX,JY))

        IF(E0.EQ.0)CYCLE                 
      NR=8*RAN(ISEED)+1
      NSTATE=ISN(NR)
   E=COUNT(ISN.NE.NSTATE)
      RD=RAN(ISEED)      
      DE=E-E0+NSTATE-IS(IX,JY)+2.5*RD-1.25
      IF(DE.LT.0.0)IS(IX,JY)=NSTATE
               ISRE=SETCOLOR(IS(IX,JY))
               ISRE=SETPIXEL(IX,JY)
       ENDDO
     ENDDO
   WRITE(1,*)T,COUNT(IS.EQ.2)
ENDDO
       CLOSE(1)
       stop
    END   

最后出来这个东西:   


急啊,这到底什么回事呢?我代码哪里写错了?


作者: vvt    时间: 2015-6-22 21:30
在我的计算机上,能够正常运行。

你试试在 stop 前面,加一个无线循环:
do
end do
作者: komae    时间: 2015-6-22 22:57
vvt 发表于 2015-6-22 21:30
在我的计算机上,能够正常运行。

你试试在 stop 前面,加一个无线循环:

我知道什么回事了,还是谢谢您
打开文件,open那里的问题,我计算机没有E盘

另外,我想详细咨询下ISEED=RTC()
这一行是调用时钟么?
作者: fcode    时间: 2015-6-22 23:02
是的,调用时钟。返回自 1970年1月1日以后到现在的秒数

这不是标准语法。
作者: komae    时间: 2015-6-23 11:26
fcode 发表于 2015-6-22 23:02
是的,调用时钟。返回自 1970年1月1日以后到现在的秒数

这不是标准语法。 ...

谢谢!另外那我如何能够设置计时点呢
作者: fcode    时间: 2015-6-23 14:29
date_and_time

CPU_TIME




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2