私は問題に苦しんでいるので、誰かがアドバイスや例を提供できれば、本当に感謝しています. Fortran90 を使用しています。
プログラムの目的:
選択した量で、ファイルからランダムな行を削除するには。私が考える最善の方法は、乱数を使用して行番号に対応させることでした。
現時点での機能:
毎回新しい乱数を生成し、別のファイルに出力します。
問題:
(1) 行番号に対応する整数を生成しません。(2) これらの番号を使用してファイルから行を削除する方法がわかりません。
program random1
implicit none
integer :: i, seed, removed
real :: r
open (unit=10,file='random.dat')
removed=5
call init_random_seed()
do i=1,removed
call random_number(r)
write(10,*) r
end Do
end program random1
subroutine init_random_seed()
integer :: i,n,clock
integer, dimension(:),allocatable :: seed
call random_seed(size=n)
allocate(seed(n))
call system_clock(count=clock)
seed=clock+37*(/(i-1,i=1,n)/)
call random_seed(put=seed)
deallocate(seed)
end subroutine
ありがとうございました!