| 查看: 972 | 回复: 11 | |||
| 当前主题已经存档。 | |||
[交流]
【求助】求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 ] |
» 猜你喜欢
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有4人回复
磺酰氟产物,毕不了业了!
已经有6人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有9人回复
Cas 72-43-5需要30g,定制合成,能接单的留言
已经有8人回复
北京211副教授,35岁,想重新出发,去国外做博后,怎么样?
已经有8人回复
论文终于录用啦!满足毕业条件了
已经有25人回复
自荐读博
已经有3人回复
不自信的我
已经有5人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
2楼2010-01-21 13:42:55
nono2009
超级版主 (文学泰斗)
No gains, no pains.
-

专家经验: +21105 - 应助: 28684 (院士)
- 贵宾: 513.911
- 金币: 2555220
- 散金: 27828
- 红花: 2147
- 沙发: 66666
- 帖子: 1602255
- 在线: 65200.9小时
- 虫号: 827383
- 注册: 2009-08-13
- 性别: GG
- 专业: 工程热物理与能源利用
- 管辖: 科研家筹备委员会
3楼2010-01-21 14:25:38
jjdg
版主 (知名作家)
- 程序强帖: 9
- 应助: 223 (大学生)
- 贵宾: 3.926
- 金币: 51003.4
- 红花: 238
- 帖子: 7227
- 在线: 474.2小时
- 虫号: 27000
- 注册: 2003-10-21
- 专业: 药物代谢与药物动力学
- 管辖: 程序语言

4楼2010-01-21 16:28:26
5楼2010-01-21 17:05:15
6楼2010-01-21 17:06:22
tjyl
金虫 (正式写手)
- 程序强帖: 2
- 应助: 0 (幼儿园)
- 金币: 3218.1
- 红花: 2
- 帖子: 576
- 在线: 156.6小时
- 虫号: 765184
- 注册: 2009-05-07
- 专业: 生物无机化学
- 管辖: 程序语言
7楼2010-01-21 18:46:55
tjyl
金虫 (正式写手)
- 程序强帖: 2
- 应助: 0 (幼儿园)
- 金币: 3218.1
- 红花: 2
- 帖子: 576
- 在线: 156.6小时
- 虫号: 765184
- 注册: 2009-05-07
- 专业: 生物无机化学
- 管辖: 程序语言
8楼2010-01-21 18:48:48
9楼2010-01-21 19:08:24
hakekill
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1709.3
- 帖子: 131
- 在线: 19小时
- 虫号: 246017
- 注册: 2006-04-29
- 性别: GG
- 专业: 水环境与生态水利
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+3,VIP+0):谢谢应助,辛苦了! 1-22 11:33
小木虫(金币+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












回复此楼
