24小时热门版块排行榜    

查看: 1906  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 263求调剂 +4 yqdszhdap- 2026-03-22 4/200 2026-03-22 21:20 by 1144970272
[考研] 北科281学硕材料求调剂 +6 tcxiaoxx 2026-03-20 6/300 2026-03-22 20:23 by edmund7
[考研] 311求调剂 +6 冬十三 2026-03-18 6/300 2026-03-22 20:18 by edmund7
[考研] 求调剂一志愿海大,0703化学学硕304分,有大创项目,四级已过 +6 幸运哩哩 2026-03-22 10/500 2026-03-22 20:10 by edmund7
[考研] 一志愿中南大学化学学硕0703总分337求调剂 +3 niko- 2026-03-22 3/150 2026-03-22 15:15 by 杨杨杨紫
[考研] 求调剂 +7 Auroracx 2026-03-22 7/350 2026-03-22 12:38 by 素颜倾城1988
[考研] 0856材料专硕353求调剂 +4 NIFFFfff 2026-03-20 4/200 2026-03-22 09:49 by 2026paper
[考研] 一志愿华中科技大学071000,求调剂 +4 沿岸有贝壳6 2026-03-21 4/200 2026-03-22 07:21 by ilovexiaobin
[考研] 070300化学319求调剂 +7 锦鲤0909 2026-03-17 7/350 2026-03-21 03:46 by JourneyLucky
[考研] 085700资源与环境308求调剂 +12 墨墨漠 2026-03-18 13/650 2026-03-21 01:42 by JourneyLucky
[考研] 材料专业求调剂 +6 hanamiko 2026-03-18 6/300 2026-03-21 00:24 by JourneyLucky
[考研] 288求调剂 +16 于海海海海 2026-03-19 16/800 2026-03-20 22:28 by JourneyLucky
[考研] 一志愿西南交通 专硕 材料355 本科双非 求调剂 +5 西南交通专材355 2026-03-19 5/250 2026-03-20 21:10 by JourneyLucky
[考研] 295复试调剂 +8 简木ChuFront 2026-03-19 8/400 2026-03-20 20:44 by zhukairuo
[考研] 一志愿 南京航空航天大学大学 ,080500材料科学与工程学硕 +5 @taotao 2026-03-20 5/250 2026-03-20 20:16 by JourneyLucky
[考研] 材料与化工专硕调剂 +7 heming3743 2026-03-16 7/350 2026-03-20 19:31 by zhukairuo
[考研] 一志愿南理工085701环境302求调剂院校 +3 葵梓卫队 2026-03-20 3/150 2026-03-20 19:28 by zhukairuo
[考研] 材料与化工求调剂 +7 为学666 2026-03-16 7/350 2026-03-19 14:48 by 尽舜尧1
[考研] 材料专硕306英一数二 +10 z1z2z3879 2026-03-16 13/650 2026-03-18 14:20 by 007_lilei
[考研] 312求调剂 +8 陌宸希 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
信息提示
请填处理意见