我是Fortran的新手,我想并排显示2列数组,因此我可以创建它们的显示表。到目前为止,我只能一次又一次地显示它们,但至少要在一列中显示。
在我的主程序中,我分别调用了每个数组。
subroutine disp(b,n,m)
integer::n,m
real::b(n,m)
do i=1,n
print ’(20f6.2)',b(i,1:m)
end do
end subroutine disp
非常感谢您的帮助,非常感谢!
具有一个显示1个数组的子例程将无法解决问题,因为您无法'返回到屏幕'。一起显示2个数组的特殊子例程如何。它可能会像这样:
subroutine disp2(a,b,n,m)
implicit none
integer::n,m
real::a(n,m),b(n,m)
do i=1,n
write(*,'(f6.2)') a(i,1:m), b(i,1:m)
end do
end subroutine disp2
这将起作用,只要每个行具有相同的行数。如果没有,您将不得不添加更多的逻辑。
请注意,如果格式说明符用完,它们会倒退到说明符的开头,因此,如果它们都具有相同的说明符,则不需要前面的乘数。
您也应该缩进编程结构。使编程流程更容易。