24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1423  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

行云流水cs

金虫 (小有名气)

[求助] 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朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

为无为,事无事,味无味。大小,多少,抱怨以德。图难乎其易也,为大乎其细也。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

purplewds

铜虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
二楼 说的对
你需要格式 100(4I6)
只要把
F1.DAT 部分文件
2570        2649        2540        2530

2532        2558        2544        2459

改成
F1.DAT 部分文件
  2570  2649  2540  2530
  2532  2558  2544  2459
每个数据前有两个空格, 行与行之间没有回车就OK了
5楼2012-06-26 18:53:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

mingkeng

至尊木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +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
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

行云流水cs

金虫 (小有名气)

引用回帖:
2楼: Originally posted by mingkeng at 2012-06-24 22:47:25
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)
     ...

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
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mingkeng

至尊木虫 (正式写手)

引用回帖:
3楼: Originally posted by 行云流水cs at 2012-06-25 10:40:58
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) ...

必须知道你原始数据的排放格式?作为附件,发上来看看,有一两行就行
4楼2012-06-26 17:41:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见