[問題] 找出最大的三個數值

看板Fortran作者 (.......)時間10年前 (2014/06/03 18:53), 10年前編輯推噓0(005)
留言5則, 3人參與, 最新討論串1/1
請問要怎麼找出每月最大的三個數值呢? 我目前只能用maxval找出每月最大值,無法找出最大的三個數值。 有人可以告訴我該怎麼寫程式嗎?感激不盡! counts=1 do j=1,12*yr do i=1,7 data2(i,j)=maxval(data1(i,counts:counts+month2(j)-1)) write (80,*) data2(i,j) enddo counts=counts+month2(j) enddo 以上是我找出每月最大值的程式。 但不知道怎麼改寫成每月最大的三個數值。謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 131.111.184.21 ※ 文章網址: http://www.ptt.cc/bbs/Fortran/M.1401792812.A.B35.html ※ 編輯: wura (131.111.184.21), 06/03/2014 18:56:18

06/04 07:00, , 1F
有人可以幫幫我嗎?感激不盡啊!!!
06/04 07:00, 1F

06/04 12:27, , 2F
如果都是正值 可以先找出最大值的位置 取值之後將該位置的
06/04 12:27, 2F

06/04 12:28, , 3F
值設為零 重複做三次就可以得到最大的三個值
06/04 12:28, 3F

06/04 20:21, , 4F
樓上是一種解法...笨一點也可以每個月都抽出來作sorting...XD
06/04 20:21, 4F

06/04 22:05, , 5F
謝謝各位的幫忙,我已設置為零,並成功找出三個最大值了
06/04 22:05, 5F
文章代碼(AID): #1JZQaiir (Fortran)
文章代碼(AID): #1JZQaiir (Fortran)