24小时热门版块排行榜    

查看: 2468  |  回复: 12
本帖产生 2 个 程序强帖 ,点击这里进行查看

77585218358

金虫 (正式写手)


[交流] 【求助】求高手关于Fortran数据读写的问题。【已完结】

现在有如下的数据,我想把C1 和C2 行对应的三个数值读写出来,如何操作?小弟fortran很菜,跪求高手解答。
HT         -1.895  10.573  85.302
C1         -1.046  10.149  85.861
C2         -0.291  11.243  86.620
H1C       -0.394   9.635  85.137
H2C       -1.447   9.397  86.558
H1C       -0.994  11.727  87.322
H2C        0.028  12.029  85.913
C1          0.934  10.743  87.400
C2          2.100  10.268  86.522
H1C        0.630   9.929  88.082
H2C        1.300  11.563  88.045
H1C        2.365  11.070  85.810
H2C        1.783   9.403  85.915
C1          3.336   9.882  87.343
C2          4.495   9.311  86.511
H1C        3.042   9.128  88.095
H2C        3.686  10.760  87.914
H1C        4.139   8.415  85.976
H2C        5.287   8.958  87.196
C1          5.113  10.268  85.478
C2          5.692  11.575  86.043
H1C        4.357  10.510  84.711
H2C        5.918   9.729  84.946
H1C        4.883  12.193  86.469
H2C        6.116  12.158  85.205
C1          6.782  11.365  87.101
C2          7.480  12.671  87.503
H1C        7.529  10.654  86.706
H2C        6.344  10.894  87.999
H1C        6.719  13.397  87.840
H2C        7.954  13.116  86.609
C1          8.536  12.510  88.609
C2          9.640  11.481  88.312
H1C        8.028  12.229  89.550

[ Last edited by 余泽成 on 2010-12-6 at 15:16 ]
回复此楼

» 猜你喜欢

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

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ykwang

金虫 (正式写手)



77585218358(金币+10): 2010-12-01 14:32:50
余泽成(金币+1):谢谢参与应助! 2010-12-06 15:15:50
zyj8119(程序强帖+1): 2010-12-14 18:04:03
你需要的程序片段如下:

          Dimension C1(3,100),C2(3,100)
          Character  CHS*80
          J1=0
          J2=0
10       READ(10,'(A)',END=20)CHS
          IF(CHS(1:2).EQ.'C1')THEN
               J1=J1+1
               IF(J1.GT.100)STOP 'Error Message .......'
               READ(CHS(3:80),*)(C1(I,J1),I=1.3)
           ENDIF
           IF(CHS(1:2).EQ.'C2')THEN
               J2=J2+1
               IF(J2.GT.100)STOP 'Error Message .......'
               READ(CHS(3:80),*)(C2(I,J2),I=1.3)
           ENDIF
           GOTO 10
20       CONTINUE
2楼2010-12-01 10:30:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

77585218358(金币+10): 2010-12-01 14:32:59
余泽成(金币+1):谢谢参与应助! 2010-12-06 15:15:59
zyj8119(程序强帖+1): 2010-12-14 18:03:44
一个简单的实现
CODE:
C234567
      PROGRAM C1C2
      CHARACTER*80 LINE
      OPEN(7,FILE = 'A.TXT', STATUS='OLD')
      OPEN(8,FILE = 'B.TXT', STATUS='NEW')
5     READ(7,'(A)', END = 10) LINE
      IF( INDEX(LINE, 'C1') .NE. 0 .OR. INDEX(LINE, 'C2') .NE. 0)
     &  WRITE(8, '(A)') LINE
      GOTO 5
10    CONTINUE
      END

3楼2010-12-01 10:37:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

piduil

铜虫 (初入文坛)



77585218358(金币+3): 2010-12-01 14:33:14
77585218358(金币+3): 2010-12-01 14:35:45
余泽成(金币+1):谢谢参与应助! 2010-12-06 15:16:10
ykwang的程序估计是楼主想要的
但文件10在你的程序中没有定义,fortran菜鸟会搞不定的。
此外,如果输入文件中有C1C打头之类的行,会出错的。
4楼2010-12-01 13:10:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

77585218358

金虫 (正式写手)


引用回帖:
Originally posted by piduil at 2010-12-01 13:10:05:
ykwang的程序估计是楼主想要的
但文件10在你的程序中没有定义,fortran菜鸟会搞不定的。
此外,如果输入文件中有C1C打头之类的行,会出错的。

你的意思是应该定义打开数据文件的通道10,是不是?
5楼2010-12-01 14:38:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by 77585218358 at 2010-12-01 14:38:04:

你的意思是应该定义打开数据文件的通道10,是不是?

就象我的那个那样,open(10,.....)
6楼2010-12-01 14:54:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

piduil

铜虫 (初入文坛)


为什么非要用fortran来干这个事情呢?
我觉得干这个并不是fortran的特长,把你的需求说完整了,也许有更好的解决方案。
7楼2010-12-01 15:31:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
Fortran 干这种事情还是绰绰有余的,呵呵……
8楼2010-12-01 15:37:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

77585218358

金虫 (正式写手)


引用回帖:
Originally posted by piduil at 2010-12-01 15:31:47:
为什么非要用fortran来干这个事情呢?
我觉得干这个并不是fortran的特长,把你的需求说完整了,也许有更好的解决方案。

已经解决了!
9楼2010-12-02 14:39:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kathy2008

木虫 (正式写手)



小木虫(金币+0.5):给个红包,谢谢回帖
引用回帖:
Originally posted by snoopyzhao at 2010-12-01 10:37:01:
一个简单的实现

[code]
C234567
      PROGRAM C1C2
      CHARACTER*80 LINE
      OPEN(7,FILE = 'A.TXT', STATUS='OLD')
      OPEN(8,FILE = 'B.TXT', STATUS='NEW')
5     READ(7,'(A)', END = 10) ...

版主你好,我试了一下你这一个程序,用gfortran,提示的错误是
In file bbs3.f90:6

      IF( INDEX(LINE, 'C1') .NE. 0 .OR. INDEX(LINE, 'C2') .NE. 0 )
                                                                 1
Error: Unclassifiable statement in IF-clause at (1)

请指点。谢谢。
10楼2011-05-12 09:58:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+2): 谢谢参与应助! 2011-05-12 18:53:25
引用回帖:
Originally posted by kathy2008 at 2011-05-12 09:58:10:
版主你好,我试了一下你这一个程序,用gfortran,提示的错误是
In file bbs3.f90:6

      IF( INDEX(LINE, 'C1') .NE. 0 .OR. INDEX(LINE, 'C2') .NE. 0 )
                                           ...

我这里的是个 Fortran 77 的程序,续行符在前,你用 Fortran 90 的话,得把续行符放在上一行的后面吧……
11楼2011-05-12 10:09:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kathy2008

木虫 (正式写手)



小木虫(金币+0.5):给个红包,谢谢回帖
引用回帖:
Originally posted by snoopyzhao at 2011-05-12 10:09:40:
我这里的是个 Fortran 77 的程序,续行符在前,你用 Fortran 90 的话,得把续行符放在上一行的后面吧……

多谢版主。已解决。
12楼2011-05-12 10:16:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
余泽成(金币+2): 其实真的想让你加入我们版主管理团队,不知专家是不是有这个意愿! 2011-05-12 18:54:11
引用回帖:
Originally posted by kathy2008 at 2011-05-12 10:16:07:
多谢版主。已解决。

俺不是版主,呵呵……
13楼2011-05-12 10:16:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 77585218358 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 u1xkze8ybe 2026-07-30 7/350 2026-07-31 12:10 by syhhffkrym
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 u1xkze8ybe 2026-07-30 3/150 2026-07-31 12:08 by syhhffkrym
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 u1xkze8ybe 2026-07-30 6/300 2026-07-31 12:05 by syhhffkrym
[教师之家] 基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊 +6 锦衣卫寒战 2026-07-28 6/300 2026-07-31 11:27 by syl200707
[高分子] HXDI做水性聚氨酯乳液,是不是特别容易出渣 15+3 yuyusuv 2026-07-29 3/150 2026-07-31 09:21 by huizingga
[基金申请] 小木虫看见有人已经知道结果了 +15 1234567wang 2026-07-25 19/950 2026-07-31 08:30 by ZJTJZ
[基金申请] 2026年国自然面上资助率 +8 布布和一二 2026-07-30 8/400 2026-07-31 01:51 by alongwaytogo
[基金申请] 系统今天又提示维护了,估计离放榜不远了 +11 winnerche 2026-07-29 15/750 2026-07-30 23:08 by jnhyjjm
[基金申请] 微信指数没变化,科研之友没阅读 +14 wangze12014 2026-07-28 17/850 2026-07-30 20:10 by kissu88
[考博] 申请2027年材料/化学类博士 10+3 考研老狗? 2026-07-25 5/250 2026-07-30 19:33 by 白色木鱼
[基金申请] 你们的时间戳变了吗 +3 archvillain 2026-07-30 4/200 2026-07-30 18:53 by levinzhwen
[基金申请] 今年的WR进展到哪一步了? +5 wsgjhwz 2026-07-25 9/450 2026-07-30 12:59 by 可淡不可忘
[有机交流] 产物和副产物价值比较 30+4 小汤02 2026-07-27 5/250 2026-07-30 12:44 by czyzsu
[基金申请] 时间戳他又来了 +14 晓晓爱翠翠 2026-07-26 17/850 2026-07-29 16:30 by 呵呵二哥
[有机交流] 这个自发加氧反应的机理是什么? 50+4 YUAN2273 2026-07-25 7/350 2026-07-29 12:27 by xiaobenpu
[基金申请] 没消息就是被刷了呗 +13 lambert2014 2026-07-24 14/700 2026-07-29 10:38 by msh145800
[基金申请] 这种情况还有戏吗 +5 drbart 2026-07-27 11/550 2026-07-29 05:50 by drbart
[基金申请] 同事接到电话了,我却没有 +4 1234567wang 2026-07-27 4/200 2026-07-28 10:11 by GOODLUCKER
[基金申请] 准备明年的基金了 +5 Tide man 2026-07-27 5/250 2026-07-28 09:25 by newfuzzy1
[分析] 水蒸气蒸馏法乳化现象 +3 月光娇娇 2026-07-26 3/150 2026-07-26 23:25 by caiyun
信息提示
请填处理意见