| 查看: 1797 | 回复: 6 | |||
[求助]
FORTRAN 读取文件数据出错
|
|
PROGRAM MAIN REAL L(1340,4) M=1340 N=4 OPEN(UNIT=1,FILE='F1.DAT',STATUS='OLD',ACCESS='SEQUENTIAL',FORM='FORMATTED') READ(1,*) ((L(M,N),I=1,N),J=1,M) OPEN(UNIT=2,FILE='F2.DAT',STATUS='NEW',ACCESS='SEQUENTIAL',FORM='FORMATTED') WRITE(2,200) L CLOSE(1) CLOSE(2) 200 FORMAT(1X,4F10.2) END F1.DAT 部分文件 2570 2649 2540 2530 2532 2558 2544 2459 2479 2494 2515 2450 2448 2511 2458 2448 2407 2515 2510 2407 2436 2444 2384 2396 2320 2362 2330 2316 2280 2382 2320 2315 2324 2369 2252 2260 2282 2284 2303 2241 2239 2347 2232 2215 但是F2.DAT 怎么全是0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 |
» 收录本帖的淘帖专辑推荐
Linux系统学习 |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊
已经有8人回复
HXDI做水性聚氨酯乳液,是不是特别容易出渣
已经有3人回复
小木虫看见有人已经知道结果了
已经有19人回复
2026年国自然面上资助率
已经有8人回复
系统今天又提示维护了,估计离放榜不远了
已经有15人回复
微信指数没变化,科研之友没阅读
已经有17人回复
申请2027年材料/化学类博士
已经有5人回复
你们的时间戳变了吗
已经有4人回复
今年的WR进展到哪一步了?
已经有9人回复
产物和副产物价值比较
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
fortran程序open文件时的简单问题
已经有3人回复
fortran转换CHGCAR出错
已经有4人回复
Fortran 编译问题
已经有9人回复
请教一个fortran小程序编译出错的问题,谢谢
已经有9人回复
【求助】Fortran语言赋值问题?
已经有3人回复
Fortran的格式化输入输出问题
已经有14人回复
三维数组换行输入到文件(intel fortran 编译器)
已经有6人回复
有关fortran的一次而问题,希望大家能帮帮忙,谢谢
已经有4人回复
【整理】今天整理硬盘上的资料,偶然发现的好玩的小东西就直接发上来吧
已经有106人回复
【求助】如何写FORTRAN程序实现求平均最近邻距离
已经有34人回复
【求助】求高手关于Fortran数据读写的问题。【已完结】
已经有12人回复
【分享】将ELFCAR、CHGCAR转化成MS阅读可读的fortran代码
已经有142人回复
【求助】DL_POLY的config文件如何生成??
已经有98人回复

【答案】应助回帖
★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2012-06-25 00:07:55
行云流水cs: 金币+5, ★★★很有帮助 2012-06-25 10:36:02
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2012-06-25 00:07:55
行云流水cs: 金币+5, ★★★很有帮助 2012-06-25 10:36:02
|
PROGRAM MAIN REAL L(1340,4) M=1340 N=4 OPEN(UNIT=1,FILE='F1.DAT',STATUS='OLD',ACCESS='SEQUENTIAL',FORM='FORMATTED') READ(1,*) ((L(j,i),I=1,N),J=1,M) OPEN(UNIT=2,FILE='F2.DAT',STATUS='NEW',ACCESS='SEQUENTIAL',FORM='FORMATTED') WRITE(2,200) L CLOSE(1) CLOSE(2) 200 FORMAT(1X,4F10.2) END 将READ(1,*) ((L(M,N),I=1,N),J=1,M)修改为READ(1,*) ((L(j,i),I=1,N),J=1,M)即可 |
2楼2012-06-24 22:47:25
|
PROGRAM MAIN INTEGER L(1340,4) M=1340 N=4 OPEN(UNIT=1,FILE='F1.DAT',STATUS='OLD',ACCESS='SEQUENTIAL',FORM='FORMATTED') READ(1,100) ((L(j,i),I=1,N),J=1,M) OPEN(UNIT=2,FILE='F2.DAT',STATUS='NEW',ACCESS='SEQUENTIAL',FORM='FORMATTED') WRITE(2,200) L CLOSE(1) CLOSE(2) 100 FORMAT(4I6) 200 FORMAT(4(2X,4I6)) END 对程序稍微改了一下,但是出现了input conversion error。我知道 READ(1,100) ((L(j,i),I=1,N),J=1,M) 100 FORMAT(4I6)有错误。但不知道怎么改。麻烦你帮我看看。 |

3楼2012-06-25 10:40:58
4楼2012-06-26 17:41:15
5楼2012-06-26 18:53:35
6楼2012-06-27 06:59:49
送鲜花一朵 |
PROGRAM MAIN INTEGER,ALLOCATABLE::A(:, ![]() INTEGER M,N WRITE(*,*)'ENTER M AND N :' READ(*,*) M,N ALLOCATE(A(M,N)) OPEN(UNIT=1,FILE='F1.DAT',STATUS='OLD',ACCESS='SEQUENTIAL',FORM='FORMATTED') DO 10,I=1,M DO 20,J=1,N READ(1,*) A(I,J) 20 CONTINUE CALL SORT(A,N) 10 CONTINUE OPEN(UNIT=2,FILE='F2.DAT',STATUS='NEW',ACCESS='SEQUENTIAL',FORM='FORMATTED') WRITE(2,100) ((A(I,J),J=1,N),I=1,M) CLOSE(1) CLOSE(2) 100 FORMAT(1X,4(3X,I6)) END C SUBROUTINE SORT(A,N) INTEGER N,P,A(N),K DO 10,J=1,N-1 P=J DO 20,I=J+1,N IF(A(I).LT.A(P)) THEN P=I END IF 20 CONTINUE K=A(J) A(J)=A(P) A(P)=K 10 CONTINUE END F1.DAT如下,希望高手帮我调试一下,我的目地是将F1.dat中的数据,读一行然后排序,再读一行再排序。但是我发现程序读取文件完全是一列读取的。几个例子:我本来想读4*4 矩阵,但是程序却读了第一列的16个数据。 2570 2649 2540 2530 2532 2558 2544 2459 2479 2494 2515 2450 2448 2511 2458 2448 2407 2515 2510 2407 2436 2444 2384 2396 2320 2362 2330 2316 2280 2382 2320 2315 2324 2369 2252 2260 2282 2284 2303 2241 2239 2347 2232 2215 2207 2220 2216 2200 2204 2212 2174 2133 2135 2137 2140 2079 2115 2176 2203 2036 2107 2139 2742 2067 2053 2036 5555 2020 2009 1998 3807 1960 1947 2003 4393 1978 1986 1997 4894 1929 1955 1995 2131 1959 1909 1951 1927 1903 1910 1949 1873 1849 1852 1928 1842 1848 1882 1871 1830 1829 1869 1901 1772 1768 |

7楼2012-06-27 11:17:07










回复此楼
