作者azureus (四月雪~)
看板Fortran
标题Re: [问题] 请教 如何写出这样的东西
时间Thu Jun 18 18:35:04 2009
※ 引述《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