【发布时间】:2013-02-21 22:37:04
【问题描述】:
所以我正在用 Fortran 编写一些代码,它可以将一个方阵与自身相乘。但是我必须乘以的矩阵在一个文件中,我在将它读入程序时遇到了一些问题。我认为是因为样本数据采用以下格式:
3
101
010
101
第一行是矩阵的维度,每一行都是矩阵中的一个现在,但条目之间没有空格。所以我想我的问题是当我将这些行读入二维数组时如何拆分它们?
【问题讨论】:
所以我正在用 Fortran 编写一些代码,它可以将一个方阵与自身相乘。但是我必须乘以的矩阵在一个文件中,我在将它读入程序时遇到了一些问题。我认为是因为样本数据采用以下格式:
3
101
010
101
第一行是矩阵的维度,每一行都是矩阵中的一个现在,但条目之间没有空格。所以我想我的问题是当我将这些行读入二维数组时如何拆分它们?
【问题讨论】:
读入第一个数字为N,并用它来分配一个维度为N×N的数组。然后每次读取该数组的一行:array (i, 1:N)) for i=1 to N。见Fortran: reading a row of numbers into an array要使用的格式。
【讨论】:
使用格式读取
read (1,*) n
allocate(A(n,n))
do i=1,n
read (1,'(1000i1)'),A(i,:)
enddo
声明的“i1”是否超出实际需要并不重要
【讨论】: