爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2746|回复: 5

[求助] fortran不能运行 弹出奇怪的东西 求大神指教是不是fortran'出问题了

[复制链接]

新浪微博达人勋

发表于 2016-4-8 13:32:23 | 显示全部楼层 |阅读模式

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

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

x
编写了一个小程序,我自己也不知道是否正确,正在调试,但是Fortran总是弹出奇怪的东西不能正常的运行
程序如下:
program main
implicit none
!48个时次
INTEGER t,i,j,i2
real a(99,999,999),b(999,999)
character*86 name(48)
!读文件名称,第一个大循环,时间t循环
OPEN (30,FILE='D:\xiangmu\filelist1.txt')
do t=1,48
read(30,*)name(t)
!打开数据文件
open(33,file=name(t))
print*,name(t)
!读前面台站信息,无用
read(33,*)
read(33,*)
read(33,*)
read(33,*)
!读mode first数据,一共30行,i表示行,也是高度,j表示列,也是变量      
do i=1,30
read(33,*)(a(t,i,j),j=1,7)
end do
!后面两种模式的数据不要
do i2=1,96
read(33,*)
end do
!赋值,只要第四列垂直速度
b(t,i)=a(t,i,4)
!第一个循环,时间循环结束
end do
close(30)
print*,b(t,i)
open(66,file='D:\shuju\54597\201508\20150801\hobsQ\w.txt')
write(66,'(48f7.2)')((b(t,i),i=1,30),t=1,48)
close(66)
end
!********************

点了开始执行之后弹出
而且调试过程会触发断点,输出里面是这样显示的,还有调用堆栈(小妹不知道这是什么)是这样显示 有时候还会蹦出来一个.c后缀的东西 如图 微截图_2016-04-08 01_29_21.057.png
求大家指导,我的Fortran出了什么问题
对了 小妹怀疑是fortran问题之后编了一个a+b=c的小程序测试,发现每次输出的值都不一样
微截图_2016-04-08 01_25_13.465.png
微截图_2016-04-08 01_23_33.737.png
微截图_2016-04-08 01_26_31.996.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-8 13:59:03 | 显示全部楼层
1.强烈怀疑这一段就是化蛇填足,请先弄清楚数据的排列方式。难道后面两种模式每个都是48行?和前一种模式的30行不一样,反而和时间的长度一致?
“!后面两种模式的数据不要
do i2=1,96
read(33,*)
end do”
2.赋值过程不对
“!赋值,只要第四列垂直速度 b(t,i)=a(t,i,4)” 改为 b(t,:)=a(t,:,4)”
3.最后输出根本没看明白打算怎么排数据
“write(66,'(48f7.2)')((b(t,i),i=1,30),t=1,48)”可以改为
do t = 1 , 48
write(66,'(30f7.2)') (b(t,1:30)
end do

至于最后说的fortran计算a+b=c出错,请给出依据。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-10 23:55:33 | 显示全部楼层
请是用visual C++写的Fortran 吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-13 11:49:44 | 显示全部楼层
南国的佳人 发表于 2016-4-10 23:55
请是用visual C++写的Fortran 吗?

是IVF的 不是C++
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-13 11:49:56 | 显示全部楼层
南国的佳人 发表于 2016-4-10 23:55
请是用visual C++写的Fortran 吗?

是IVF的 不是C++
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-13 12:10:16 | 显示全部楼层
lqouc 发表于 2016-4-8 13:59
1.强烈怀疑这一段就是化蛇填足,请先弄清楚数据的排列方式。难道后面两种模式每个都是48行?和前一种模式的 ...

第一个问题已经改过来了
第二个问题的用法确实不太会,是不是我的没加循环,你的方法加上了循环
第三个问题是不是内外循环弄错了,如果(b(t,i),t=48,i=30)是不是就正确了
谢谢你的指导,至于fortran的问题已经解决了
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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