Fortran中的2D数组

时间:2018-03-07 04:08:00

标签: fortran fortran90

所以我刚开始使用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

简而言之,我只是想缩短我只是试图对行中的值进行排序,然后按数字排序。

1 个答案:

答案 0 :(得分:0)

两件事:

Fortran案例不敏感: Aa相同

声明必须在执行声明之前

该行

integer, DIMENSION(a,b) :: c

不能在openread语句之后。

您可以做的是使用可分配的数组。那些以等级声明,但没有大小,并且可以稍后分配到所需的大小:

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