Fortran Coder

查看: 117|回复: 2

[输入输出] 为什么write设定输出格式之后写的矩阵内容就变成一列了?

[复制链接]

4

帖子

2

主题

0

精华

新人

F 币
19 元
贡献
11 点
发表于 2021-10-9 18:21:31 | 显示全部楼层 |阅读模式
请教一下各位大佬:我把write的输出格式从任意的*换成''(F7,2)"之后,一个输出的文件的401x401数据直接就变成了一列,想请教一下怎么回事?
原代码:
[Fortran] 纯文本查看 复制代码
      real BuildM(401,401)
      write(*,*)'START INPUT BUILDING MATRIX'
          open(9999,file='SimpleBuilding_v1.txt')
        DO J=1,401,1
              READ(9999,*) (BuildM(I,J),I=1,401)
      end DO
          CLOSE(9999)
          open(9991,file='BuildMoutput.txt')
        DO J=1,401,1
                write(9991,*) (BuildM(I,J),I=1,401)
          end DO
          CLOSE(9991)
          write(*,*)'END INPUT BUILDING MATRIX'
      end

我把write改成write(9991,''(F7,2)") (BuildM(I,J),I=1,401),输出的BuildMoutput.txt文件的数据由401x401直接变成一列了,搞不明白怎么回事,请教一下
回复

使用道具 举报

152

帖子

2

主题

0

精华

宗师

F 币
1369 元
贡献
703 点

规矩勋章

发表于 2021-10-9 20:15:31 | 显示全部楼层
因为write(9991,"(F7.2)")指定每一行只写一个数。可改成write(9991,"(401F7.2)").

评分

参与人数 1F 币 +4 收起 理由
fcode + 4 很给力!

查看全部评分

4

帖子

2

主题

0

精华

新人

F 币
19 元
贡献
11 点
 楼主| 发表于 2021-10-9 21:15:39 | 显示全部楼层
风平老涡 发表于 2021-10-9 20:15
因为write(9991,"(F7.2)")指定每一行只写一个数。可改成write(9991,"(401F7.2)").

谢谢大佬,我发的两个问题都是您回答的,非常感谢您!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2021-10-24 07:00

Powered by Tencent X3.4

© 2014-2021 Tencent

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