爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5159|回复: 7

(问题已解决,谢谢大家)新人想用FORTRAN,老是出错,百思不得姐,求助~~

[复制链接]

新浪微博达人勋

发表于 2014-4-29 16:35:32 | 显示全部楼层 |阅读模式
Fortran
系统平台: win7 Fortran_PowerStation_4.0
问题概况: 我有3个TXT文件数据,每个文件都只有一列整型数据(2920个),我想根据这3个文件数据,通过逻辑判断,赋给一个数组相应的值,并输出为TXT,可总是编译报错~急
问题截图:
我看过提问的智慧: 看过
自己思考时长(天): 0.5

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

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

x
本帖最后由 wtf2ftw 于 2014-4-29 17:14 编辑

我有3个TXT文件数据,每个文件都只有一列整型数据(2920个),我想根据这3个文件数据,通过逻辑判断,赋给一个数组相应的值,并输出为TXT,可总是编译报错~急
写的内容如下
program adjust
implicit none
integer,parameter::n=2920
real::u(n),h(n)
INTEGER(4)::z(n),d(n),f(n),w(n),i

OPEN(11,FILE='e:\data2\zy.txt',action='read',status='old')
OPEN(12,FILE='e:\data2\dy.txt',action='read',status='old')
OPEN(13,FILE='e:\data2\h0.txt',action='read',status='old')
OPEN(14,FILE='e:\data2\fs.txt',status='new')
do i=1,n
read(11,*)z(i)
read(12,*)d(i)
read(13,*)h(i)
enddo
close(11)
close(12)
close(13)

do i=1,n
if(z(i)<=4.and.d(i)<=4.and.h(i)<=0)
then(fs(i)==-2)  
elseif(z(i)>=5.and.z(i)<=7.and.d(i)<=4.and.h0(i)<=0)
then(f(i)=-1)
elseif(z(i)>=8.and.d(i)<=4.and.h(i)<=0)
then(f(i)=-1)
elseif(z(i)>=5.and.d(i)>=5.and.d(i)<=7.and.h(i)<=0)
then(f(i)=0)
elseif(z(i)>=8.and.d(i)>=8.and.h(i)<=0)
then f(i)=0 else f(i)=0
endif
enddo
do i=1,2920
write(14,*)(fs(i),file='e:\data2\fs.txt')
enddo
close(14)
end


QQ截图20140429162430.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-29 16:39:01 | 显示全部楼层
提示你21和23行语法错误,看看if块的语法怎么写的,自己改改再试试
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-29 16:41:12 | 显示全部楼层
if then 语句写错了吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-29 16:44:39 | 显示全部楼层
本帖最后由 lqouc 于 2014-4-29 16:45 编辑

write(14,*)(fs(i),file='e:\data2\fs.txt')
这是啥意思?话说我用你的程序编译发现了16个语法错误,不知道你用的什么编译器。总之已经有提示了,你就自己修改下吧。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-29 16:55:50 | 显示全部楼层
貌似应该是if和then是在同一行
if(z(i)<=4.and.d(i)<=4.and.h(i)<=0)then
(fs(i)==-2)
elseif(z(i)>=5.and.z(i)<=7.and.d(i)<=4.and.h0(i)<=0)then
。。。
LZ可以尝试下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-29 17:13:33 | 显示全部楼层
谢谢楼上各位帮助  已经完美解决,程序结果也已经运行出来了,一句话,5年没用过fortran了,才发现语法已经不熟悉了,不过现已DEBUG,开心  这个程序是算混合层高度的一部分
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2014-4-29 17:20:46 | 显示全部楼层
wtf2ftw 发表于 2014-4-29 17:13
谢谢楼上各位帮助  已经完美解决,程序结果也已经运行出来了,一句话,5年没用过fortran了,才发现语法已经 ...

有好程序别忘了来分享
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-29 17:24:44 | 显示全部楼层
mofangbao 发表于 2014-4-29 17:20
有好程序别忘了来分享

嗯  先前在GRADS方面就学到版主大大不少好东东,呵呵。虽然才疏学浅但有好东西一定分享
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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