陣列(array)是一組型別完全相同、且用單個名字來引用的變數或常量,這組陣列占用計算機記憶體中的連續若干位置,陣列中的單個元素稱為陣列元素。陣列使用之前,它包含的元素型別和個數必須用型別宣告語句來向編譯機宣告。陣列的宣告大致有幾種,下面以宣告長度為10的實型一維陣列vec為例:fortran中陣列是乙個非常有用的運算元據工具,本文將簡略介紹陣列的一些知識。
real :: vec(10)
real,dimension(10) :: vec
上面宣告了陣列vec,使用的時候為如下格式:
program mainreal,dimension(10) :: vec
integer :: i
!對於整個陣列進行操作
vec = 0.0
!操作單個元素
vec(1) = 1.0
!迴圈運算元組
do i = 0,1
vec(i) = real(i)
end do
end program
多維陣列定義和使用格式如下:
program maininteger :: max(2,3)
max = 0
max(1,2) = 1.0
end program
編制程式時候,可能會出現在宣告陣列的時候並不知道需要多大的長度,如果申請乙個特別的陣列儘管可以解決此類問題,但是未免太耗記憶體,而且申請乙個特別大的自動陣列會導致段錯誤,為止,fortran提供了可分配陣列,如下為其使用方法:
program main!宣告陣列
real,allocatable :: vec(:)
integer :: istatus
!申請陣列大小
allocate( vec(10) , stat = istatus)
vec(1:3) = 0.1
end program
上面**中,"stat = 子句"是可選的,如果出現這一句,將返回乙個整數狀態值,分配成功狀態為0。
語句"vec(1:3) = 0.1"則是為第1-3個元素進行操作。
Fortran的點點滴滴 開場白
fortran語言作為一種數值計算常用語言,其最大特性是接近數學公式的自然描述,其在計算機裡具有很高的執行效率,且易學,語法嚴謹。在用fortran的這麼多年,天天的積累,漸漸攢起了不少自己的經驗 把它們寫下來給大家分享,尤其是分享給我生活的另一半,將會是一件很開心的事情。program main ...
Fortran的點點滴滴 批量生成檔案
設要生成4000個檔案,檔名為aa1 aa4000,如何寫迴圈生成檔案,而不用寫4000次write命令呢?這時可以用內部檔案來實現該功能 program main character len 80 filename,form integer i do i 1,4000 select case i ...
acm 點點滴滴
qsort排序方法 六種qsort排序方法 本文中排序都是採用的從小到大排序 一 對int型別陣列排序 int num 100 sample int cmp const void a const void b qsort num,100,sizeof num 0 cmp 二 對char型別陣列排序 ...