Fortran Coder

标题: 动态的输出格式 [打印本页]

作者: 大头鼹鼠    时间: 2016-5-17 13:11
标题: 动态的输出格式
Implicit None
    Integer:: M,N,L,K,Size_temp,a,b,c,d
    Real,ALLOCATABLE :: Temp_F(:,:),Temp_B(:,:)
    Call Input_mesh(M,N,L,K)
    Allocate(Temp_F(M,N),Temp_B(L,K))
    Temp_F=22
    Temp_B=22
    write(*,300) ,((Temp_F(i,j),j=1,N),i=1,M)
    Deallocate(Temp_F,Temp_B)
    Call simulation_time()
200 Format(I5,I5,F7.1)
300 format(N//f5.1)   动态数组要输出N列数据,这个怎么解决呀,N是子程序传递过来的数据
End


作者: 楚香饭    时间: 2016-5-17 13:54
本帖最后由 楚香饭 于 2016-5-17 13:55 编辑

方法一: write(*,"(*(f5.1))") ,((Temp_F(i,j),j=1,N),i=1,M)

方法二: 参考 http://fcode.cn/code_gen-63-1.html


作者: 大头鼹鼠    时间: 2016-5-17 14:36
'(<n>F5.1)' 好像这个比较好用  谢谢啦 我是IVF的平台 那个大程序 我还得看一看消化吸收一下 和版主学了不少技巧 谢谢啦
作者: 大头鼹鼠    时间: 2016-5-17 14:37
楚香饭 发表于 2016-5-17 13:54
方法一: write(*,"(*(f5.1))") ,((Temp_F(i,j),j=1,N),i=1,M)

方法二: 参考 http://fcode.cn/code_gen-6 ...

'(<n>F5.1)' 好像这个比较好用  谢谢啦 我是IVF的平台 那个大程序 我还得看一看消化吸收一下 和版主学了不少技巧 谢谢啦
作者: vvt    时间: 2016-5-18 07:58
星号最好,其次仿vf的,而尖括号由于不规范而建议别用
作者: 大头鼹鼠    时间: 2016-5-18 08:37
vvt 发表于 2016-5-18 07:58
星号最好,其次仿vf的,而尖括号由于不规范而建议别用

但是这个似乎这个不能进行行列分组呀,我试了好几次都没有成功
作者: vvt    时间: 2016-5-18 09:40
  write(*,300) ,((Temp_F(i,j),j=1,N),i=1,M)
改为
Do i = 1 , M
  write(*,'(*(f5.1))')  Temp_F(i,:)
End Do
这是比较标准的二维数组输出
作者: 大头鼹鼠    时间: 2016-5-18 11:06
vvt 发表于 2016-5-18 09:40
write(*,300) ,((Temp_F(i,j),j=1,N),i=1,M)
改为
Do i = 1 , M

谢谢 高手呀
作者: 大头鼹鼠    时间: 2016-5-18 11:07
楚香饭 发表于 2016-5-17 13:54
方法一: write(*,"(*(f5.1))") ,((Temp_F(i,j),j=1,N),i=1,M)

方法二: 参考 http://fcode.cn/code_gen-6 ...

write(*,"(*(f5.1))") 开始没理解,还以为不对  现在懂了 谢谢




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2