| 查看: 1486 | 回复: 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朵)
» 猜你喜欢
职称评审没过,求安慰
已经有49人回复
26申博自荐
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
三无产品还有机会吗
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
fortran程序open文件时的简单问题
已经有3人回复
fortran转换CHGCAR出错
已经有4人回复
Fortran 编译问题
已经有9人回复
请教一个fortran小程序编译出错的问题,谢谢
已经有9人回复
【求助】Fortran语言赋值问题?
已经有3人回复
Fortran的格式化输入输出问题
已经有14人回复
三维数组换行输入到文件(intel fortran 编译器)
已经有6人回复
有关fortran的一次而问题,希望大家能帮帮忙,谢谢
已经有4人回复
【整理】今天整理硬盘上的资料,偶然发现的好玩的小东西就直接发上来吧
已经有105人回复
【求助】如何写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













回复此楼
