刚刚学写fortran,读取一个三维周期图形的坐标后,以每一个坐标为原点,做周期小球,若小球包裹了4个点(不含小球中心点),则输出小球及四个点的坐标 代码如下,不知为什么一直报错,用的是linux的f90
[Fortran] 纯文本查看 复制代码 program up
implicit none
!read the file......................................
real :: x(2250),y(2250),z(2250)
integer :: i
open(1,file='XYZ1.txt')
loopi: do i = 1,2250
read(1,*) x(i),y(i),z(i)
end do loopi
close(1)
!........draw a ball and get 4 points..............................................
integer :: a(4)
integer :: j
integer :: n
integer :: k
integer :: l
integer :: m(2250,4)
loopj: do j = 1,2250
k = 0
loopn: do n = 1,2250
if (j == n) then
cycle
end if
if ((x(n)-x(j))**2+(y(n)-y(j))**2+(z(n)-z(j))**2 < 1.8**2) then
k = k + 1
a(k) = n
if (k == 4) then
loopl: do l = 1,4
m(j,l) = a(l)
print *,m(j,l)
end do loopl
end if
end if
end do loopn
end do loopj
end program up
报错如下:
integer :: a(4)
1
Error: Unexpected data declaration statement at (1)
5.f90:15.12:
integer :: j
1
Error: Unexpected data declaration statement at (1)
5.f90:16.12:
integer :: n
1
Error: Unexpected data declaration statement at (1)
5.f90:17.12:
integer :: k
1
Error: Unexpected data declaration statement at (1)
5.f90:18.12:
integer :: l
1
Error: Unexpected data declaration statement at (1)
5.f90:19.20:
integer :: m(2250,4)
1
Error: Unexpected data declaration statement at (1)
5.f90:28.8:
a(k) = n
1
Error: Unexpected STATEMENT FUNCTION statement at (1)
5.f90:31.13:
m(j,l) = a(l)
1
Error: Unexpected STATEMENT FUNCTION statement at (1)
5.f90:20.4:
do j = 1,2250
1
Error: Symbol 'j' at (1) has no IMPLICIT type
5.f90:21.1:
k = 0
1
Error: Symbol 'k' at (1) has no IMPLICIT type
5.f90:30.4:
do l = 1,4
1
Error: Symbol 'l' at (1) has no IMPLICIT type
5.f90:22.4:
do n = 1,2250
1
Error: Symbol 'n' at (1) has no IMPLICIT type
|