24小时热门版块排行榜    

查看: 1855  |  回复: 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的回帖

行云流水cs

金虫 (小有名气)

送鲜花一朵
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
已阅   回复此楼   关注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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 建议基金发布提前给出明确的时间点 +10 kulium 2026-08-21 13/650 2026-08-21 21:58 by alongwaytogo
[基金申请] 2026国自然函评费到账 +7 羊腰板 2026-08-21 7/350 2026-08-21 21:28 by iwuli
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 让我中一个面上吧! +11 大萍1987 2026-08-20 13/650 2026-08-21 14:48 by 20120902066
[基金申请] 人气不行了 +7 fansofjerry 2026-08-21 7/350 2026-08-21 14:13 by Vivilian
[基金申请] 只有每年这种时候来逛逛小木虫 +23 yaoyewhu2008 2026-08-20 25/1250 2026-08-21 12:19 by Poppy1104
[基金申请] 时间戳又变了8-15 +15 archvillain 2026-08-15 27/1350 2026-08-21 11:32 by tim76
[基金申请] 今天基金会出结果吗?20260819 +15 kkkl_v 2026-08-19 16/800 2026-08-21 11:22 by 365372687
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 13/650 2026-08-21 08:30 by 北京莱茵编辑
[基金申请] 时间戳今天,20号变了 +4 archvillain 2026-08-20 4/200 2026-08-21 08:10 by gatelove
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
信息提示
请填处理意见