回 帖 发 新 帖 刷新版面

主题:fortran动态存储问题?

请教各位大侠
能否附上一个小的算例,感激不尽!

回复列表 (共4个回复)

沙发

program DynArray
   implicit none
   integer,allocatable :: a(:)
   integer :: i,n
   read(*,*) n
   allocate (a(n))
   do i=1,n
      a(i) = i
   end do
   write(*,*) a
   deallocate(a)
   stop
end program DynArray

输入:5
输出:1 2 3 4 5

板凳

mltx老师,你好!
但是如果我的n是的变化的呢?有什么好的办法解决吗?

3 楼

例中的n不就是变化的吗(使用户输入的)?
还想变?接着往下写啊。。。

program DynArray
   implicit none
   integer,allocatable :: a(:)
   integer :: i,n
   read(*,*) n
   allocate (a(n))
   do i=1,n
      a(i) = i
   end do
   write(*,*) a
   deallocate(a)

   ! 变化n
   n = 3
   allocate (a(n))
   do i=1,n
      a(i) = i
   end do
   write(*,*) a
   deallocate(a)

   stop
end program DynArray

4 楼

mltx老师,你好!

谢谢你的提示,我做的矩阵是随时间变化的,可以用你提示的方法去试一试,再次感谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册