關於 Fortran90 中二維陣列的輸入、輸出和計算

發布 科技 2024-03-01
11個回答
  1. 匿名使用者2024-01-26

    首先,讀取檔案,或在程式中輸入 51 行資料。

    設定行數 n=51,這樣可以通過轉換 n 的值來直接控制資料中行數的變化。

    parameter(n=51)

    integer mm(n,6) !二維陣列,51*6 第一列表示序號,第2列至第5列表示資料內容。

    integer msum(n),num(n-1)

    MSUM 是 和 NUM 是乙個陣列,它計算相同數字的個數,並且每兩行有乙個 num,因此長度為 n-1

    open(1,file='此資料檔案',form='formatted')

    do i=1,n

    read(1,*)mm(i,j),j=1,6)

    enddomax=mm(1,2)

    min=mm(1,2) !2 表示第二列,可根據需要更改為 3、4、5、6 ......

    do i=1,n

    if(mm(i,2)>max)then

    max=mm(i,2)

    endifif(mm(i,2)min=mm(i,2)

    endifmsum(i)=0

    do j=2,6

    msum(i)=msum(i)+mm(i,j)

    enddoenddo

    這樣,max 和 min 分別是第二列中元素的最大值和最小值,msum 是每行的總和。

    do i=1,n-1

    num(i)=0

    do j=2,6

    do k=2,6

    if(mm(i,j)==mm(i+1,k))then

    num(i)=num(i)+1

    endifenddo;enddo

    enddoopen(2,file='',form='formatted')

    write(2,*)'max=',max,' min=',min

    do i=1,n

    write(2,*)i,'sum=',msum(i)

    enddodo i=1,n-1

    write(2,*)i,'number of same =',num(i)

    enddoend

    基本上,你最終不會得到乙個一維陣列,當你輸出它時,最好解釋它,或者把它分成不同的......檔案

    另外,數一數相鄰兩行之間有多少個數字是相同的,我大致表示一下,在這個程式中,你可以自己看到修改。

  2. 匿名使用者2024-01-25

    只有第 5 個問題。

    可以與單個檔案一起輸出。

    open(unit=10,filename=''write(10,*) 加上要輸出的變數的名稱。

  3. 匿名使用者2024-01-24

    用什麼語言? C、您可以聯絡我們!

  4. 匿名使用者2024-01-23

    write (10,200) (a(i,j),j=1,m),i=1,n)

    200 format (1x, ?m?

    其中? m?將其替換為您獲取的值,如果它是整數,則將其後面的 f 更改為 i

  5. 匿名使用者2024-01-22

    當輸出為csv比較合理時,在不同的陣列元素之間輸出逗號來分隔它們,可以用excel開啟。

  6. 匿名使用者2024-01-21

    一樓 你在說什麼?

    如果要獲取值。

    直接最大值 (a)。

    Fortran 程式。

    do i=1,n

    do j=1,n

    if a(i,j)>temp then

    temp = a(i,j)

    endifend do

    enddo 輸出 temp

  7. 匿名使用者2024-01-20

    !假設檔案的格式是。

    0001 張三丰 1001001001001000002 李思, 李思 100100100100100....

    檔名是。 操作步驟如下。

    implicit none

    integer,parameter::n=10character::xh(n)*4,xm(n)*8integer::cj(n,5)=0,i

    open(11,file='')

    do i=1,n

    read(11,'(2a,5i3)') xh(i),xm(i),cjenddo

    close(11)

    後續程式略有結束

  8. 匿名使用者2024-01-19

    minloc:最大元素的位置。

    minloc:最小元素的位置。

    maxval:最大元素值。

    minval:最小元素值。

  9. 匿名使用者2024-01-18

    中文部分用完後應關閉程式,程式部分修改如下:

    open(8,file='')

    do i=1,20001

    do j=1,99

    read (8,'(') a(i,j)

    enddoenddo

    close(8)

    open(8,file='')

    do i=1,20001

    write (8,'(')(a(i,j),j=1,99)enddo

    close(8)

    如果仍有錯誤,則可能是檔案不符合第 20001 行的第 99 列!

  10. 匿名使用者2024-01-17

    總共有 5 * 3 = 15 個元素。

    a(5, -1:1):行維數為 5,陣列下標預設下限為 1,相當於宣告 1:

    5 行,所以陣列有 5 行; 列維為 -1:1,相當於宣告 [-1, 0, 1] 共 3 列;

    二維陣列的維度為 5 行 3 列,因此有 15 個元素。

  11. 匿名使用者2024-01-16

    這個問題沒有乙個確切的答案。

    首先,32位軟體理論上最多可以使用4G的記憶體(當然,在實踐中,它分配的要多一點),而64位軟體可以更多。

    此外,具有不同精度的不同型別的陣列元素占用的記憶體量也不同。 例如,integer(kind=1) 占用 1 個位元組(8 位),integer(kind=4) 占用 4 個位元組(32 位)。

    可分配記憶體除以陣列元素的大小是可分配元素的數量。

    所以,不管是不是FORTRAN,關鍵取決於定址方法。 32 位 FORTRAN 和 32 位 MATLAB 可分配陣列是相同的。

    最好的方法是嘗試分配乙個陣列,如果它溢位,您將知道可以分配多少個元素。

相關回答
17個回答2024-03-01

2.,找到 hkey 本地計算機---軟體---microsoft---active 安裝程式---安裝的元件-->3,將 isinstalled 的 dword 值修改為 0(系統預設不安裝 IE),然後單擊確定。 >>>More

3個回答2024-03-01

1 太陽和風是快樂的,唱著建黨90年來的同一首歌,惠民政策始終是企業家精神,有著代代相傳的思想。 >>>More

6個回答2024-03-01

.他們是普通人,但他們非常不同......

他們分不清虛幻和真實他們生活在乙個虛幻的社會中。 >>>More

2個回答2024-03-01

總結。 您好,親愛的,很高興為您服務<>

關於睡眠對中學生影響的調查結果摘要:“調查如下:1.大學生通常睡7到8個小時。 >>>More

9個回答2024-03-01

5.主句是實際事件是偶然的,前面的空格是偶然的同義詞,後面的空格是偶然的反義詞(因為有乙個還),前面的那個可以選擇de,但後面的空問題,e是有理的,d是唯一要打的,我個人覺得唯一的對應不是很準確偶然, 其中有一種機會主義和運氣。理性思維得不到,選擇e會更合適。 如果哪個燃燒的果實是獨一無二的,那麼這個機會的機會就不對應,所以還不夠清楚。 >>>More