Fortran Coder

标题: Fortran如何求一组数中的最小几个数(除了排序) [打印本页]

作者: 1230431    时间: 2015-2-3 16:19
标题: Fortran如何求一组数中的最小几个数(除了排序)
我有一组数,比如:

a(1:7)=8,9,1,4,2,3,5

我要求出最小的前三个数,并求出它相应的下标,除了用排序法还有其它的方法可以实现吗?
谢谢!!!!!!!!!

作者: li913    时间: 2015-2-3 21:42
本帖最后由 li913 于 2015-2-3 21:46 编辑

[Fortran] 纯文本查看 复制代码
program test 
implicit none
real(4) a(7)
logical Lgc(7)
integer ind(1), i
a=(/8,9,1,4,2,3,5/)
Lgc =.true.
do i=1,3
ind = minloc(a,Lgc)
print*,ind  ! 3,5,6
lgc(ind(1)) = .false.
end do
end program
   
如果只是在大量数据中找寻几个数据,或者数据总量很少,这个方法可以。否则还是排序的好。

作者: 1230431    时间: 2015-2-3 22:46
li913 发表于 2015-2-3 21:42
[mw_shl_code=fortran,true]program test
implicit none
real(4) a(7)

嗯嗯,非常感谢!!!!!!!!




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