【发布时间】:2013-11-11 20:29:24
【问题描述】:
有一个文件有 1000 帧。每帧包含不同数量的行。每行有两列整数。但是,我不知道每帧包含多少行。每一帧都由一个空行分隔。我想读取这些值并将它们存储在一个数组中。但是,我无法分配数组大小,因为我不知道每帧有多少行。所以,我有两个问题:
- 如何使用“do”循环来读取 fortran90 程序中的不同行数?我无法使用“计数控制执行”循环,因为我不知道每帧中的确切行数。
- 如果我不能更早地分配数组的大小,如何将数字存储在数组中? 该文件如下所示:
1 2
2 1
3 2
2 8
4 5
4 17
2 10
等等……
有什么建议吗?
【问题讨论】:
-
可以一次完成,但两次更容易。您是否需要为每一帧使用不同的阵列?你试过什么?
-
@VladimirF,不,我不需要为每一帧设置不同的数组。我需要使用相同的数组。对于每一帧,我都使用了一个开放的 do 循环,然后对我读取的每一行使用 count=count + 1。退出 do 循环后,我使用该计数值来分配数组大小并将值再次读入分配的数组。但是,它给出了一个运行时错误,说明文件结束。
-
你应该在你的问题中向我们展示你的代码,然后避免这些不完整的描述。