关于子程序读取txt文件
本帖最后由 freshman 于 2019-2-19 21:32 编辑我想用子程序来读取一个文件中的数据并且储存到数组中,然后另外一个子程序会使用该数组中的元素进行计算。
现在代码跑不通跪求大神帮忙看看
MODULE inputpower
IMPLICIT NONE
REAL k(50,152)
END MODULESUBROUTINE getpow(xx,yy)
USE inputpower
IMPLICIT NONE
INTEGER i,j
OPEN(unit=99,file='test1.txt',status='old',form = 'formatted')
DO i=1,xx
READ(99,*) (k(j,i) ,j=1,yy)
!print*, (k(j,i) ,j=1,yy)
END DO
CLOSE(99)
END SUBROUTINE getpow(xx,yy)
PROGRAM inpow
USE inputpower
IMPLICIT NONE
INTEGER na,nr
na = 7
nr = 7
!read the input data
CALL getpow(na,nr)
END PROGRAM inpow
text文件内容如下
1 1 1 1 1 1 1
2 1 1 1 1 1 1
3 1 1 1 1 1 1
4 1 1 1 1 1 1
5 1 1 1 1 1 1
6 1 1 1 1 1 1
7 1 1 1 1 1 1
问题出在了ps: 自学没几天,请大佬推荐比较好的fortran90书籍
可能代码特别不规范 主要是参照了一些fortran77的代码 SUBROUTINE getpow(xx,yy)
USE inputpower
IMPLICIT NONE
INTEGER i,j
OPEN(unit=99,file='test1.txt',status='old',form = 'formatted')
DO i=1,xx
READ(99,*) (k(j,i) ,j=1,yy)
!print*, (k(j,i) ,j=1,yy)
END DO
CLOSE(99)
END SUBROUTINE getpow(xx,yy)
用排除法得到是红色的两行代码有问题 MODULE inputpower
IMPLICIT NONE
REAL k(50,152)
END MODULE
SUBROUTINE getpow(xx,yy)
USE inputpower
IMPLICIT NONE
INTEGER i,j,xx,yy!//XX,YY需要定义
OPEN(unit=99,file='test1.txt',status='old',form = 'formatted')
DO i=1,xx
READ(99,*) (k(j,i) ,j=1,yy)
!print*, (k(j,i) ,j=1,yy)
END DO
CLOSE(99)
END SUBROUTINE getpow!//这里不写括号
PROGRAM inpow
USE inputpower
IMPLICIT NONE
INTEGER na,nr
na = 7
nr = 7
!read the input data
CALL getpow(na,nr)
END PROGRAM inpow
如果还有问题,请给出错误提示描述。 fcode 发表于 2019-2-19 22:02
MODULE inputpower
IMPLICIT NONE
REAL k(50,152)
解决了
非常感谢!
谢谢您!!!!!!
页:
[1]