作者PTT0207445 (我是乡民)
看板Fortran
标题Re: [问题] 找出两两距离
时间Thu Jan 17 07:54:43 2019
(已知27取4=17550)
program main
implicit none
type point
real(
8),
dimension(
3) :: coordinate
end type point
type(point),
dimension(
27) :: label
real(
8),
dimension(
3) :: vector
integer(
4),
dimension(
4,
17550) :: list
integer(
4) :: i27,j27,k27,l27,N,i,j
real(
8),
dimension(
4,
4) :: distance
real :: r
do i27
=1,
27
do i
=1,
3
call random_number(r)
label(i27)%coordinate(i)
=r
enddo
enddo
N
=0
do i27
=1,
27
do j27
=i27
+1,
27
do k27
=j27
+1,
27
do l27
=k27
+1,
27
N
=N
+1
list(:,N)
=(
/i27,j27,k27,l27
/)
enddo
enddo
enddo
enddo
do N
=1,
17550
do i
=1,
4
do j
=1,
4
i27
=list(i,N)
j27
=list(j,N)
vector(:)
=label(i27)%coordinate(:)
-label(j27)%coordinate(:)
distance(i,j)
=dsqrt(
dot_product(vector,vector))
enddo
enddo
enddo
end program main
※ 引述《rosesellshoe (罗斯卖鞋)》之铭言:
: 现在有27个编号,想要任选出4个编号(例如1.2.3.4、1.2.3.5...),
: 每一个编号有各自的座标,请问我要如何写出一个程式可以帮我
: 求出两两之间各自的距离?
: 目前的想法是读两个input,一个是1-27之座标档,
: 另一个为c27取4的所有编号结果,但不知道怎麽让这两个档案有连结...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 86.156.211.166
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Fortran/M.1547682886.A.12F.html
※ 编辑: PTT0207445 (86.156.211.166), 01/17/2019 07:58:39
※ 编辑: PTT0207445 (86.156.211.166), 01/17/2019 08:26:58