Fortran Coder

标题: 字符已经设置了类型,仍然提示需要定义类型 [打印本页]

作者: Forrest    时间: 2019-12-6 08:58
标题: 字符已经设置了类型,仍然提示需要定义类型
[Fortran] 纯文本查看 复制代码
program Console12
    implicit none
   integer,parameter::N=400  !一共400个粒子,
    integer::posx(N),posy(N)
    integer ::t,i,j,L
    real::pi,cell(8,8)
    real :: z,s,k
   
    k=0
    do i=-10,9           !初始化400个粒子的位置,都在-10*-10的区域
                         !行走之前,格点上只有一个粒子,开始行走之后,格点上允许有多个粒子,
        do j=-10,9
            k=k+1
            posx(k)=i
            posy(k)=j
        end do
    end do
    open (10,file='dis-0.txt')
    do i=1,N
        write(10,*)posx(i),posy(i)
    end do
    do t=1,6000000    !总共进行多少次选择
        call RANDOM_SEED()
        call RANDOM_NUMBER(z)
        k=integer(z*N+1)     ! k表示第几个粒子
        L=integer(z*4+1)     ! l表示1,2,3,4,的哪一个数
        select case(l)        ! 随机选中的粒子往哪里走,行走的区域是一个-100*100的表格
        case(1)
            posy(k)=posy(k)+1
            if(posy(k)>=100) posy(k)=posy(k)-1
        case(2)
            posy(k)=posy(k)-1
            if(posy(k)<-100) posy(k)=posy(k)+1
        case(3)
            posx(k)=posx(k)-1
            if(posx(k)<-100)posx(k)=posx(k)+1
        case(4)
            posx(k)=posx(k)+1
            if(posx(k)>=100)posx(k)=posx(k)-1
        end select
        !2000步计算一下熵
        if(mod(t,2000)==0)then
        cell(i,j)=0   !cell(i,j)表示第几个格点区域有多少个粒子,相当于一个8*8的矩阵,
        do k=1,N
            i=(posx(k)+100)/25+1   !计算每个格子中的粒子数目
            j=(posy(k)+100)/25+1     
            cell(i,j)=cell(i,j)+1.0
        end do
        pi=cell(i,j)/N
        s=0
        do i=1,8
            do j=1,8
                if(pi<1.0/2000.0)cycle  !即在2000步的行走中,该格点区域仍然没有一个粒子
                s=s-pi*log(pi)
            end do
        end do
        write (10,*)s
        end if
    end do
    close(10)
    end program Console12

错误 1  error #6404: This name does not have a type, and must have an explicit type.   [INTEGER] C:\文件\FORTRAN\Console12\Console12\Console12.f90 41




作者: Forrest    时间: 2019-12-6 08:58
谢谢了,哪位指导一下啊,万分感谢
作者: li913    时间: 2019-12-6 10:22
integer 改为 int; k为整型。

QQ截图20191206102134.png (84.26 KB, 下载次数: 252)

QQ截图20191206102134.png

作者: Forrest    时间: 2019-12-6 11:09
li913 发表于 2019-12-6 10:22
integer 改为 int; k为整型。

谢谢了,




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