爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6931|回复: 12

fortran编程出现错误,大神们帮忙看一下呗~~

[复制链接]

新浪微博达人勋

发表于 2017-12-14 10:09:10 | 显示全部楼层 |阅读模式
Fortran
系统平台: LINUX
问题概况: error #6514: A substring must be of type CHARACTER. [B]
DO while (tree_exist(n) .and. b(1:M) == n)
问题截图:
我看过提问的智慧: 看过
自己思考时长(天): 1

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
这是我出现错误的那一段的代码。请教一下各位大神
Max_no 是树的总数,第二行我想表达的意思是:如果n的位置存在树,并且n是b数组里面的某一个数的话就让下面那些等于0。
本人是Fortran小白一枚,希望大神指点~~

我定义了数组b  是这样写的 integer :: b(M)
1.png

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-14 10:35:47 | 显示全部楼层
b(1:M)什么意思?感觉你这是ncl啊,不是fortran
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-14 11:05:16 | 显示全部楼层
b(1:M) == n这句说不通有问题。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-14 11:20:44 | 显示全部楼层
DO while (tree_exist(n) .and. COUNT(b==n))
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-14 11:27:56 | 显示全部楼层
rabin_xu 发表于 2017-12-14 10:35
b(1:M)什么意思?感觉你这是ncl啊,不是fortran

就是你理解的意思,在Fortran中b(1:M)这种写法并没有问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-14 11:39:22 | 显示全部楼层
可能没说清楚,再回复一下,
DO while (tree_exist(n) .and. b(1:M)==n)这里b(1:M)==n判断的是b数组里的元素是否等于n,返回的是一个M*1的逻辑数组。
所以呢,可以用count函数判断b中有多少个元素等于n,返回个数值
DO while (tree_exist(n) .and. COUNT(b==n))
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-12-14 13:51:13 | 显示全部楼层
御风者 发表于 2017-12-14 11:05
b(1:M) == n这句说不通有问题。

恩恩,确实是这里有问题了~~ 改成b == n 错误信息就没了~~谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-12-14 13:52:36 | 显示全部楼层
゛绍〤z、 发表于 2017-12-14 11:39
可能没说清楚,再回复一下,
DO while (tree_exist(n) .and. b(1:M)==n)这里b(1:M)==n判断的是b数组里的元 ...

太感谢了,说的这么详细,我把b(1:M)==n 改成了b==n, 虽然错误信息没了,也能运行了,但是下面的那些并没有被替换成0~~ 这是什么原因呢~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-12-14 13:53:03 | 显示全部楼层
rabin_xu 发表于 2017-12-14 10:35
b(1:M)什么意思?感觉你这是ncl啊,不是fortran

感谢回复,确实是这里写的不对~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-14 17:53:18 | 显示全部楼层
乌兰兰111 发表于 2017-12-14 13:52
太感谢了,说的这么详细,我把b(1:M)==n 改成了b==n, 虽然错误信息没了,也能运行了,但是下面的那些 ...

这个问题我就不清楚了,我看了一下程序,不知道tree_exsit是怎么判断树存在的,不知道do while循环中有没有改变什么变量使得tree_exist中的判断条件,否则这似乎是个死循环
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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