配列のいろは

doループのきほん

program a1

integer::nm

nm=5

do n=1,nm

print *,'n=',n

enddo

endprogram a1

$ emacs a1.f90

$ a.out

n= 1

n= 2

n= 3

n= 4

n= 5

配列への代入

program a2

integar,allocate::a(:)

nm=3

allocate(a(nm))

a(1)=1

a(2)=2

a(3)=3

print *,'a(nm)=',a(nm)

endprogram a2

$ ifort a2.f90

a2.f90(3): error #5082: 構文エラー、',' が見つかりました、 ( % : . = => の 1 つを指定してください。

integar,allocate::a(:)

-------^

a2.f90(3): error #5082: 構文エラー、END-OF-STATEMENT が見つかりました、 ) , の 1 つを指定してください。

integar,allocate::a(:)

----------------------^

a2.f90(6): error #6724: 割り当て/割り当て解除オブジェクトは ALLOCATABLE または POINTER 属性を含んでいなければなりません。 [A]

allocate(a(nm))

---------^

a2.f90(6): error #8196: ALLOCATE 形状はスカラー・オブジェクトにあってはなりません。 [A]

allocate(a(nm))

---------^

a2.f90(8): error #6410: この名前は配列または関数として宣言されていません。 [A]

a(1)=1

^

a2.f90(9): error #6410: この名前は配列または関数として宣言されていません。 [A]

a(2)=2

^

a2.f90(10): error #6410: この名前は配列または関数として宣言されていません。 [A]

a(3)=3

^

コンパイルは a2.f90 で異常終了しました (コード 1)。