Fortran 编程:从txt文件read 数据成二维数组,txt中的数据是一维排列的,如何把这一列分成两半读取呢?
或者在TXT文件中的数据也可以是二维形式排列,但read的时候好像仍然按照一列数据读取,变成二维数据好像很难。...
或者在TXT文件中的数据也可以是二维形式排列,但read的时候好像仍然按照一列数据读取,变成二维数据好像很难。
展开
2个回答
展开全部
这是算法问题。当然最简单的方法就是,在输出txt文件的时候就输出成两列的,这样也方便读取。另外问题不是很清楚,如何分成两半的?这些数据在你提到的二维数组中如何分布(比方说形如A(2,100),其中(A(1,i),i=1,100)存上半截,剩下的存下半截,如果是这样就很简单了)?楼主可能是对read的用法不熟悉,如果把上边俩问题想清楚了,然后又能了解read的重要字段,相信自己就能写出代码了
更多追问追答
追问
我的数据不是输出的,是在Excel表里粘贴来的。我的意思是比如文本文件里就有一列数:
1
2
3
4
...
9
10
那么我想把它read 到一个二维数组里,但我这时并不知道这列数是10个(我想实现自动化),怎么read呢?我试过了,就算把数按照
1 6
2 7
3 8
4 9
5 10
排列,read 的时候还是和第一种情况一样,不会自动区分成两列的。
追答
假定文件设备号都是1:
第一种情况:
real a(2,5)
read(1,*) ((a(i,i), i=1,2), j=1,5) !这是用内循环实现的读取,试试看
或者:
do j = 1, 5
read(1,*) (a(i,j),i=1, 2)
enddo
第二种情况:
do j = 1, 5
read(1,*) (a(i,j),i=1, 2)
enddo
试试看,至于具体哪个数字存到哪个位置,需要试过才知道。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询