Re: [問題] 請教 如何寫出這樣的東西
※ 引述《magaiml (祈)》之銘言:
: 我想寫出一個 比對控制格
: 假使取5格好了
: logical x(5,某數A)
: 我想寫出 這5格內 會產生的所有狀況
: 每一格有2種可能 5格就是 2^5=32種狀況
: 32種狀況=某數A
: 然後寫入X這個二維矩陣內
: 大概結果是
: x(1:5,1) 顯示=> T F F F F
: x(1:5,2)        F T F F F
: x(1:5,3)        F F T F F
: x(1:5,4)        F F F T F
: x(1:5,5)        F F F F T
: x(1:5,6)        T T F F F
:           ......
:           ......
:           ......
: x(1:5,32)       T T T T T
: 我想取得這x矩陣
: 該如何寫出這樣的東西呢?
: 我自己是有寫出來
: 但是我的5格數是死的
: 我想改為活的 就是可以任我調整格子數
: 並且跑出我想要的x矩陣結果
: 麻煩板上的高手給點建議 或是 撰寫方向
: (P.S. 如果要我貼上我寫的5格 我會再補上)
: 謝謝..^^
新手上路, 試試看...
program test
  integer, parameter :: n1=5
  integer n2
  logical, allocatable :: x(:,:)
  character(len=n1) string
  n2=2**n1
  allocate( x(n1,n2) )
  do i=1,n2
    write(string, "(b5.5)") i-1   <===== 還在想怎麼解決b5.5的問題
    do j=1,n1
      if( string(j:j) == '1' ) then
        x(j,i)=.true.
      else
        x(j,i)=.false.
      end if
    end do
    write(*,*) (x(j,i),j=1,n1)
  end do
  stop
end program
...就這樣
--
※ 發信站: 批踢踢實業坊(ptt.cc) 
◆ From: 118.160.221.134
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章