24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 443  |  回复: 12
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

panpan429

金虫 (正式写手)

[交流] 【求助】运行出错,寻帮助

这个程序是我从书上找到的
试着运行了下
改了些错误
编译连接没有问题了
但运行时又提示
Program Exception——array bounds exceeded
我试着添加一些write语句,发现这一段执行后就出现上述这个问题了
do 90 lz=lun,lup
        do 80 lx=lrf,lrg
          ib=lz*idx+lx+1
          j=ncl(ib)
          if(j.le.0)goto 80
          if(j.eq.i)goto 80
          do 11 jj=1,10
            if(je(i,jj).eq.j)then
              jk=jj
              goto 70
            endif
11     continue
70     xj=x0(j)
          zj=z0(j)
          rj=rr(j)
          gap=dsqrt((xi-xj)*(xi-xj)+(zi-zj)*(zi-zj))
          if(gap.lt.dsqrt((ri+rj)*(ri+rj)))then
             if(i.gt.j)then
                ac=(xj-xi)/(gap)
                as=(zj-zi)/(gap)
                j0=0
                do 555 jj=1,10
                if(je(j,jj).eq.i)then
                   j0=jj
                   goto 554
                endif
555          continue
554        call actf(i,j,jk,as,ac,gap)
             en(j,j0)=en(i,jk)
             es(j,j0)=es(i,jk)
             j0=0
            endif
         else
85        en(i,jk)=0.d0
            es(i,jk)=0.d0
            je(i,jk)=0
         endif   
80    continue
90    continue

请问上述问题应该如何排除,谢谢
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

argo

铁杆木虫 (著名写手)

上善若水

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
wangen994(金币+2,VIP+0):谢谢交流啊,哈哈 6-19 09:32
那可能就是以下代码没有执行过,或者换句话说,if判断句中没有符合条件的可能。
          if(je(i,jj).eq.j)then
              jk=jj
              goto 70
            endif
也许你该查查je数组的情况是否和你预想的一致。
居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。
10楼2009-06-19 07:11:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

老虎大王

木虫 (著名写手)

程序不完整。没法弄。
2楼2009-04-14 10:34:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

panpan429

金虫 (正式写手)

这个程序很长,不知道大家有没有耐心看,所以没有上传
3楼2009-04-14 11:05:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

panpan429

金虫 (正式写手)

下面附件是这个程序
4楼2009-04-14 11:06:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见