逻辑数组如何赋值
数组构造器好像不能赋值,求大神指点!logical :: fcode(3) = (/.true.,.false.,.true./)
如果你觉得不好看,或者 .true. 和 .false. 写起来麻烦,还可以这样写
logical :: fcode(4) = ((/1,0,1,0/)==1) !// 我喜欢这样写
fcode 发表于 2014-11-27 23:13
logical :: fcode(3) = (/.true.,.false.,.true./)
如果你觉得不好看,或者 .true. 和 .false. 写起来麻烦 ...
太感谢啦~不过二维数组怎么不行啊-_-# 二维数组需要用 reshape 进行重塑外形。
logical :: fcode(2,2) = reshape( ((/1,0,1,0/)==1) , (/2,2/) ) 楚香饭 发表于 2014-11-28 08:33
二维数组需要用 reshape 进行重塑外形。
logical :: fcode(2,2) = reshape( (( ...
嗯嗯,多谢!!我试试 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/) )
标准编译器可能会出错。因为你这一行超过了132,续个行就行了。
某些编译器允许超过132行,例如ivf fcode 发表于 2014-11-28 17:00
标准编译器可能会出错。因为你这一行超过了132,续个行就行了。
某些编译器允许超过132行,例如ivf ...
太感谢各位了! 问题解决了!! 逻辑数组如果量大,可以考虑用位存储。一个integer可以存32个逻辑值。
页:
[1]