24小时热门版块排行榜    

查看: 1343  |  回复: 11
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

shadow6wy

铜虫 (初入文坛)

[交流] 【求助】求fortran达人解答fortran读取数据问题

我想用fortran实现我以下的要求
比如说有数据文件data.txt
文件如这样格式
1.1 1.2  1.3  1.4
2.1 2.2  2.3  2.4
3.1 3.2  3.3  3.4
(数据格式整齐)

我想依次读取1.1  1.2  1.3  1.4  2.1  2.2  2.3  2.4  3.1  3.2  3.3  3.4
但每次只要读一个,因为在读取一个数据后还有一个巨大的循环体进行运算
因此简单的说可以表达为
读取1.1赋予a——运行循环体——读取1.2再赋予a——运行循环体……直到所有数据都读完。

另外,我也不希望用数组的方式一次性把数据都读出来,因为这里是一行4个数据,我的运算中可能有1000个或者一万个数据,这样占用内存可能引起溢出。因此想求一个好一点的方法!
谢谢

急求!!!若有人肯帮忙写出程序,愿再出20金币悬赏

[ Last edited by jjdg on 2010-1-21 at 16:27 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hakekill

木虫 (小有名气)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+3,VIP+0):谢谢应助,辛苦了! 1-22 11:33
我写了一个,不过对数据文件的格式要求比较严,不过数据格式可以根据具体的情况来做修改,贴出来请大家指正一下:

program main
integer :: cur_num, num_eachline
open(unit = 10, file = "test.dat", action = "read"
num_eachline = 4
cur_num = 1
do
  if ( cur_num == num_eachline ) then
    read(unit = 10, fmt = "(f3.1)", advance = "yes", iostat = ios ) a
  else
    read(unit = 10, fmt = "(f3.1, 1x)", advance = "no", iostat = ios ) a
  end if
  if (ios < 0 ) then
    close( 10 )
    exit
  else
    print *, a
    if ( cur_num < num_eachline ) then
      cur_num = cur_num + 1
    else
      cur_num = 1
    end if
  end if
end do
end program

--test.dat----
1.1 1.2 1.3 1.4
2.1 2.2 2.3 2.4
3.1 3.2 3.3 3.4
4.1 4.2 4.3 4.4

result:
1.1
1.2
1.3
1.4
2.1
2.2
2.3
2.4
3.1
3.2
3.3
3.4
4.1
4.2
4.3
4.4
10楼2010-01-22 10:36:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

shadow6wy

铜虫 (初入文坛)


jjdg(金币+1,VIP+0):鼓励新虫交流! 1-21 16:24
顶起来啊,怎么连个回复的都没有啊?如果嫌少 我再加金币啊
2楼2010-01-21 13:42:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主

★ ★ ★ ★ ★ ★
余泽成(金币+1,VIP+0):谢谢参与应助! 1-21 14:45
shadow6wy(金币+5,VIP+0):我尝试一下 1-22 09:20
一次读一行4个数据吧,循环运算完了以后,再读下面4个数据......
3楼2010-01-21 14:25:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shadow6wy

铜虫 (初入文坛)

引用回帖:
Originally posted by nono2009 at 2010-1-21 14:25:
一次读一行4个数据吧,循环运算完了以后,再读下面4个数据......

这里只是个例子,我的数据估计有1000个或者10000个,还有许多个文件都要读,所以不能都读到内存里吧,在read一次之后就没有办法再读上一行的文件了吗?
5楼2010-01-21 17:05:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 YLHlRHNwYkce 2026-09-02 8/400 2026-09-03 18:50 by jyNB2vrbdUpR
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 YLHlRHNwYkce 2026-09-02 11/550 2026-09-03 18:42 by jyNB2vrbdUpR
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 rFEsUBKXRll0 2026-09-02 6/300 2026-09-03 16:49 by T0rGB46095mJ
[找工作] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 ero8OE6tv9cu 2026-09-02 8/400 2026-09-03 16:38 by T0rGB46095mJ
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 ero8OE6tv9cu 2026-09-02 5/250 2026-09-03 16:38 by T0rGB46095mJ
[考研] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 ero8OE6tv9cu 2026-09-02 10/500 2026-09-03 16:27 by T0rGB46095mJ
[教师之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 ero8OE6tv9cu 2026-09-02 8/400 2026-09-03 14:48 by T0rGB46095mJ
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 YLHlRHNwYkce 2026-09-02 8/400 2026-09-03 12:03 by T0rGB46095mJ
[基金申请] 科研人应该花精力去思考如何解决问题,而不是去凝练问题 +7 瞬息宇宙 2026-09-01 14/700 2026-09-02 17:33 by ma0526
[基金申请] 要骂人了,新模版改版就是要淡化问题凝练这种虚的东西,结果有个评委还在说凝练得不够 +9 瞬息宇宙 2026-08-31 17/850 2026-09-02 14:04 by anjeeshine
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 10/500 2026-09-02 11:35 by 大不刘6
[基金申请] 学科评审组评审是指会评吗? +5 瞬息宇宙 2026-08-31 5/250 2026-09-02 10:13 by 雨冰共舞
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 中青基了要发朋友圈吗? +7 349506619 2026-08-28 7/350 2026-08-31 13:39 by 冼亮淀粉酶
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
信息提示
请填处理意见