大头鼹鼠 发表于 2016-9-9 15:21:51

求已知数左右两边的数

本帖最后由 大头鼹鼠 于 2016-9-9 17:25 编辑

比如一个数组 a(/1,2,3,4,5,6,7,8,9,10/) 比如 要找到7.5左右两边的数,7和8, 这个有没有内置函数呀,当然我的数列里面数肯定是全部不相同的。

li913 发表于 2016-9-9 16:45:59

没有,自己写代码。

大头鼹鼠 发表于 2016-9-9 17:26:13

li913 发表于 2016-9-9 16:45
没有,自己写代码。

好的 那就自己写吧 虽然也不难

fcode 发表于 2016-9-9 19:29:00

program www_fcode_cn
implicit none
real :: a(10) =
write(*,*) maxloc( a , a < 7.5 )
write(*,*) minloc( a , a > 7.5 )
end program www_fcode_cn

大头鼹鼠 发表于 2016-9-9 22:03:30

fcode 发表于 2016-9-9 19:29
program www_fcode_cn
implicit none
real :: a(10) =

我这个函数研究了很久,原来关键的是在判断语句的上,我总是 maxloc(a,a>7.5) 搞了很久 一直在寻找最大的数,你这样改一下 果然茅塞顿开 领教了 谢谢
你这个写写法是是输出左右两个点的位置,谢谢了

fcode 发表于 2016-9-11 21:32:28

也许你需要的是 maxval 或 minval

大头鼹鼠 发表于 2016-9-12 09:21:45

fcode 发表于 2016-9-11 21:32
也许你需要的是 maxval 或 minval

maxval 和minval的对于单个数组还是可以的,如果要进行一系列数据处理,还是定位很方便,比如一个a(10,10)素组,只需要对第一列进行定位查找就够了,然后后面的就可以用这个定位的值,实际的问题一般也是告诉你一个条件,然后把其他的找出来或者进行运算
页: [1]
查看完整版本: 求已知数左右两边的数