Fortran Coder

查看: 8766|回复: 4
打印 上一主题 下一主题

[文件读写] 关于子程序读取txt文件

[复制链接]

6

帖子

2

主题

0

精华

入门

F 币
38 元
贡献
17 点
跳转到指定楼层
楼主
发表于 2019-2-19 19:36:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 freshman 于 2019-2-19 21:32 编辑

我想用子程序来读取一个文件中的数据并且储存到数组中,然后另外一个子程序会使用该数组中的元素进行计算。
现在代码跑不通跪求大神帮忙看看

[Fortran] 纯文本查看 复制代码
1MODULE inputpower
2    IMPLICIT NONE
3    REAL k(50,152)
4END MODULE
[Fortran] 纯文本查看 复制代码
01SUBROUTINE getpow(xx,yy)
02    USE inputpower
03    IMPLICIT NONE
04    INTEGER i,j
05    OPEN(unit=99,file='test1.txt',status='old',form = 'formatted')
06        DO i=1,xx
07             READ(99,*) (k(j,i) ,j=1,yy)
08             !print*, (k(j,i) ,j=1,yy)
09        END DO
10    CLOSE(99)
11END SUBROUTINE getpow(xx,yy)

[Fortran] 纯文本查看 复制代码
01PROGRAM inpow 
02    USE inputpower
03    IMPLICIT NONE
04    INTEGER na,nr
05    na = 7
06    nr = 7
07    !read the input data
08    CALL getpow(na,nr) 
09     
10    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书籍

TIM截图20190219193504.png (182.28 KB, 下载次数: 404)

TIM截图20190219193504.png

TIM截图20190219193442.png (151.55 KB, 下载次数: 373)

TIM截图20190219193442.png

TIM截图20190219193321.png (57.29 KB, 下载次数: 408)

TIM截图20190219193321.png
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

6

帖子

2

主题

0

精华

入门

F 币
38 元
贡献
17 点
沙发
 楼主| 发表于 2019-2-19 19:45:43 | 只看该作者
可能代码特别不规范 主要是参照了一些fortran77的代码

6

帖子

2

主题

0

精华

入门

F 币
38 元
贡献
17 点
板凳
 楼主| 发表于 2019-2-19 21:57:08 | 只看该作者
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)
用排除法得到是红色的两行代码有问题

2038

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1676 元
贡献
715 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2019-2-19 22:02:10 | 只看该作者
[Fortran] 纯文本查看 复制代码
01MODULE inputpower
02    IMPLICIT NONE
03    REAL k(50,152)
04END MODULE
05 
06SUBROUTINE getpow(xx,yy)
07    USE inputpower
08    IMPLICIT NONE
09    INTEGER i,j,xx,yy!//XX,YY需要定义
10    OPEN(unit=99,file='test1.txt',status='old',form = 'formatted')
11        DO i=1,xx
12             READ(99,*) (k(j,i) ,j=1,yy)
13             !print*, (k(j,i) ,j=1,yy)
14        END DO
15    CLOSE(99)
16END SUBROUTINE getpow!//这里不写括号
17 
18PROGRAM inpow 
19    USE inputpower
20    IMPLICIT NONE
21    INTEGER na,nr
22    na = 7
23    nr = 7
24    !read the input data
25    CALL getpow(na,nr) 
26     
27    END PROGRAM inpow


如果还有问题,请给出错误提示描述。

6

帖子

2

主题

0

精华

入门

F 币
38 元
贡献
17 点
5#
 楼主| 发表于 2019-2-19 22:27:15 | 只看该作者
fcode 发表于 2019-2-19 22:02
[mw_shl_code=fortran,true]MODULE inputpower
    IMPLICIT NONE
    REAL k(50,152)

解决了
非常感谢!
谢谢您!!!!!!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2025-4-28 06:21

Powered by Discuz! X3.4

© 2013-2025 Comsenz Inc.

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