所以我刚开始使用Fortran,我不确定我哪里出错了。我只是想从文本文件中读取值,将其放入两个整数,然后创建一个2D数组。
program matrix
IMPLICIT none
integer :: a , b
open (unit = 100, file = "test.txt")
read(100, *) a, b
integer, DIMENSION(a,b) :: c
close (100)
end program matrix
我只是不断收到错误代码“符号'a'已经有基本类型整数。
文本文件只是:
3 3
8 5 2
1 9 3
3 4 1
简而言之,我只是想缩短我只是试图对行中的值进行排序,然后按数字排序。
答案 0 :(得分:0)
两件事:
Fortran案例不敏感: A
与a
相同
声明必须在执行声明之前
该行
integer, DIMENSION(a,b) :: c
不能在open
或read
语句之后。
您可以做的是使用可分配的数组。那些以等级声明,但没有大小,并且可以稍后分配到所需的大小:
program matrix
implicit none
integer :: a, b
integer, dimension(:,:), allocatable :: c
open(unit=100, file='test.txt')
read (100, *) a, b
allocate(c(a,b))
read(100, *) c
close(100)
end program matrix