Fortran Coder

逻辑数组如何赋值

查看数: 15237 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-11-27 21:59

正文摘要:

数组构造器好像不能赋值,求大神指点!

回复

百事可乐 发表于 2014-11-29 10:38:36
逻辑数组如果量大,可以考虑用位存储。一个integer可以存32个逻辑值。
306908677 发表于 2014-11-28 17:37:19
fcode 发表于 2014-11-28 17:00
标准编译器可能会出错。因为你这一行超过了132,续个行就行了。

某些编译器允许超过132行,例如ivf ...

太感谢各位了! 问题解决了!!
fcode 发表于 2014-11-28 17:00:18
标准编译器可能会出错。因为你这一行超过了132,续个行就行了。

某些编译器允许超过132行,例如ivf
306908677 发表于 2014-11-28 16:32:14
306908677 发表于 2014-11-28 15:12
嗯嗯,多谢!!我试试


1,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1/)
                                                                           1
错误: (1)处表达式中需要右括号
/Volumes/JARVISR/sae/seaq.f90:7.3:
写法
logical :: lg(7,7) = reshape( ((/0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1/)==1) , (/7,7/) )

306908677 发表于 2014-11-28 15:12:43
楚香饭 发表于 2014-11-28 08:33
二维数组需要用 reshape 进行重塑外形。

[mw_shl_code=fortran,true]logical :: fcode(2,2) = reshape( (( ...

嗯嗯,多谢!!我试试
楚香饭 发表于 2014-11-28 08:33:10
二维数组需要用 reshape 进行重塑外形。

[Fortran] 纯文本查看 复制代码
logical :: fcode(2,2) = reshape( ((/1,0,1,0/)==1) , (/2,2/) )
fcode 发表于 2014-11-27 23:13:02
logical :: fcode(3) = (/.true.,.false.,.true./)

如果你觉得不好看,或者 .true. 和 .false. 写起来麻烦,还可以这样写

logical :: fcode(4) = ((/1,0,1,0/)==1) !// 我喜欢这样写

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-19 14:17

Powered by Tencent X3.4

© 2013-2024 Tencent

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