精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • fortran 定義矩陣元素位置問題

    fortran 定義矩陣元素位置問題
    不會處理矩陣元素的位置:
    write 的格式是write(*,*)
    但是具體規(guī)定的時候就不會了,如:
    write(*,"(I3,I3/,I3,I3)")((m(r,c),c = 1,2),r = 1,2)是下面小程序的
    (I3,I3/,I3,
    program main
    implicit none
    integer,parameter ::row = 2
    integer,parameter ::col = 2
    integer ::m(row,col)
    integer r 用來賦值row
    integer 用來賦值column
    data((m(r,c),r = 1,2),c=1,2)/1,2,3,4/
    write(*,"(I3,I3/,I3,I3)")((m(r,c),c = 1,2),r = 1,2) 重點是這一行
    end
    這樣輸出的結(jié)果是:
    1 3
    2 4
    如果那行換成write(*,*) ((m(r,c),c = 1,2),r = 1,2)
    則輸出的結(jié)果是
    1 3 2 4
    如果那行換成write(*,*) m
    則輸出的結(jié)果是
    1 2 3 4
    為什么會有這樣的區(qū)別,原本設(shè)的是二維數(shù)組,怎么最后輸出來就變成一維的了
    其他人氣:261 ℃時間:2020-02-05 22:16:45
    優(yōu)質(zhì)解答
    (I3,I3/,I3,I3)
    意思是,輸出兩個 I(整數(shù))3(長度),然后換行(/),然后再輸出兩個整數(shù),長度3
    這是格式化輸出.與數(shù)組沒有什么關(guān)系.
    因為有一個 / ,所以換行以后就是2行.
    Fortran 的存儲是列優(yōu)先的.所以
    write(*,*) m 結(jié)果是 1 2 3 4
    他相當于 write(*,*) ((m(r,c),r = 1,2),c = 1,2) {Fortran 是列優(yōu)先的,所以默認是先循環(huán)列,再循環(huán)行}
    而 write(*,*) ((m(r,c),c = 1,2),r = 1,2) 先循環(huán)行,再循環(huán)列,則結(jié)果是 1 3 2 4
    注意 r 和 c 的順序.
    最后一個很嚴重的錯誤!
    二維數(shù)組,一維數(shù)組,是內(nèi)存里的格式.它與輸出一行,兩行沒有關(guān)系.
    一維數(shù)組可以輸出成一行,也可以輸出成兩行.
    二維數(shù)組也可以輸出成一行,也可以輸出成兩行.
    他們也可以輸出成三行,四行.只要你喜歡,可以按照任何方式輸出.這不影響他在程序里是幾維數(shù)組.
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點,以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機版