| 查看: 936 | 回复: 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 ] |
» 猜你喜欢
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
孩子确诊有中度注意力缺陷
已经有6人回复
2026博士申请-功能高分子,水凝胶方向
已经有6人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复
2楼2010-01-21 13:42:55
nono2009
超级版主 (文学泰斗)
No gains, no pains.
-

专家经验: +21105 - 应助: 28684 (院士)
- 贵宾: 513.911
- 金币: 2555140
- 散金: 27828
- 红花: 2147
- 沙发: 66666
- 帖子: 1602243
- 在线: 65200.8小时
- 虫号: 827383
- 注册: 2009-08-13
- 性别: GG
- 专业: 工程热物理与能源利用
- 管辖: 科研家筹备委员会
3楼2010-01-21 14:25:38
jjdg
版主 (知名作家)
- 程序强帖: 9
- 应助: 223 (大学生)
- 贵宾: 3.926
- 金币: 51002.6
- 红花: 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













回复此楼
