Fortran Coder

查看: 10342|回复: 6
打印 上一主题 下一主题

[求助] 求已知数左右两边的数

[复制链接]

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
跳转到指定楼层
楼主
发表于 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, 这个有没有内置函数呀,当然我的数列里面数肯定是全部不相同的。
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

796

帖子

2

主题

0

精华

大宗师

F 币
3787 元
贡献
2266 点
沙发
发表于 2016-9-9 16:45:59 | 只看该作者
没有,自己写代码。

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
板凳
 楼主| 发表于 2016-9-9 17:26:13 | 只看该作者
li913 发表于 2016-9-9 16:45
没有,自己写代码。

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

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1339 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2016-9-9 19:29:00 | 只看该作者
[Fortran] 纯文本查看 复制代码
program www_fcode_cn
  implicit none
  real :: a(10) = [1,2,3,4,5,6,7,8,9,10]
  write(*,*) maxloc( a , a < 7.5 )
  write(*,*) minloc( a , a > 7.5 )
end program www_fcode_cn

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
5#
 楼主| 发表于 2016-9-9 22:03:30 | 只看该作者
fcode 发表于 2016-9-9 19:29
[mw_shl_code=fortran,true]program www_fcode_cn
  implicit none
  real :: a(10) = [1,2,3,4,5,6,7,8,9, ...

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

1958

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1339 元
贡献
565 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

6#
发表于 2016-9-11 21:32:28 | 只看该作者
也许你需要的是 maxval 或 minval

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
7#
 楼主| 发表于 2016-9-12 09:21:45 | 只看该作者
fcode 发表于 2016-9-11 21:32
也许你需要的是 maxval 或 minval

maxval 和minval的对于单个数组还是可以的,如果要进行一系列数据处理,还是定位很方便,比如一个a(10,10)素组,只需要对第一列进行定位查找就够了,然后后面的就可以用这个定位的值,实际的问题一般也是告诉你一个条件,然后把其他的找出来或者进行运算
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-21 00:39

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表