24小时热门版块排行榜    

查看: 1248  |  回复: 4
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 sandf 的 2 个金币 ,回帖就立即获得 2 个金币,每人有 1 次机会
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

sandf

木虫 (正式写手)

[交流] 【求助】fortran 二维数组片段的赋值

在程序可执行段,我想把下面的赋值代码(为使代码简洁)
NGTO = 1
GTOPARA(1:5, NGTO) = (/AtomPARA(1:3,1), 3.4252509D0, 0.15432897D0/)
NGTO = NGTO + 1
GTOPARA(1:5, NGTO) = (/AtomPARA(1:3, 1), 0.6239137D0, 0.53532814D0/)
NGTO = NGTO + 1
GTOPARA(1:5, NGTO) = (/AtomPARA(1:3, 1), 0.1688554D0, 0.44463454D0/)
简化如下
NGTO = 1
GTOPARA(1:5, NGTO:NGTO + 2) = (/AtomPARA(1:3,1), 3.4252509D0, 0.15432897D0, AtomPARA(1:3, 1), 0.6239137D0, 0.53532814D0,  AtomPARA(1:3, 1), 0.1688554D0, 0.44463454D0/)
结果编译错误:
GTOPARA(1:5, NGTO:NGTO + 2) = (/AtomPARA(1:3, I), 3.4252509D0
                  1
Error: Incompatible ranks 2 and 1 in assignment at (1)
注:编译器为:gcc4.5gfortran(20090421)
请问有没有解决办法。

[ Last edited by jjdg on 2010-3-9 at 23:46 ]
回复此楼
努力呀努力,不要成为奴隶。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ftp0000

木虫 (小有名气)

★ ★
sandf(金币+2):谢谢参与
余泽成(金币+1):谢谢应助! 2010-03-11 19:31
经过我的运行,发现下面这样是可以的:

NGTO = 1
DATA GTOPARA(1:5, NGTO:NGTO + 2)   /AtomPARA(1:3,1), 3.4252509D0, 0.15432897D0, AtomPARA(1:3, 1), 0.6239137D0, 0.53532814D0,  AtomPARA(1:3, 1), 0.1688554D0, 0.44463454D0/

这样就直接可以赋值了
3楼2010-03-11 12:37:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 sandf 的主题更新
提示: 如果您在30分钟内回复过其他散金贴,则可能无法领取此贴金币
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见