(已知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的所有編號結果,但不知道怎麼讓這兩個檔案有連結...