爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2749|回复: 5

[求助] fortran程序的一个错误,有对比,很不解!

[复制链接]
发表于 2014-1-7 20:26:16 | 显示全部楼层 |阅读模式

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

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

x
程序如下:
program main
implicit none
integer,parameter::x=17,y=15
integer i,j,m,n,t,k,l
real::hgt(x,y,365)
open(11,file='f:\1949.grd',form='binary')
open(12,file='hgt.xls')
read(11)hgt(:,:,:)
!write(12,*)(((hgt(i,j,l),i=1,17),j=1,15),l=1,1)
!stop
do l=1,365
            do j=3,15
            do i=3,13
             if(hgt(i,j,l)<hgt(i-1,j,l).and.hgt(i,j,l)<hgt(i+1,j,l).and.hgt(i,j,l)<hgt(i,j-1,l).and.hgt(i,j,l)<hgt(i,j+1,l).and.hgt(i,j,l)<hgt(i-1,j-1,l).and.hgt(i,j,l)<hgt(i-1,j+1,l).and.hgt(i,j,l)<hgt(i+1,j-1,l).and.hgt(i,j,l)<hgt(i+1,j+1,l)) then

                  write(*,*)i,j,l
                 end if
                end do
                end do
end do

close(11)
close(12)
end program
运行后stop以上是正常的,数据正确,但是到下面进行判断时,只能循环一个时间,之后就错误了!提示如图:
1.JPG

密码修改失败请联系微信:mofangbao
 成长值: 0
发表于 2014-1-7 21:51:00 | 显示全部楼层
定义hgt(x,y,365)的大小实际是hgt(17,15,365),但是运行的时候hgt(i,j,l)要求,j=3,15,当j=15的时候,hgt(i,j+1,l))溢出···也就是报错的意思···
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-1-8 10:04:42 | 显示全部楼层
密码修改失败请联系微信:mofangbao
发表于 2014-1-9 18:57:05 | 显示全部楼层
看编译器错误提示很关键的
array bounds exceeded!
密码修改失败请联系微信:mofangbao
发表于 2014-1-13 22:42:23 | 显示全部楼层
{:5_231:}
密码修改失败请联系微信:mofangbao
发表于 2014-1-23 11:09:23 | 显示全部楼层
array bounds exceeded!和数组定义有关吧
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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