作者gastby (抓头发)
看板Fortran
标题[问题] 程式问题
时间Wed Jun 2 02:31:08 2010
这是一个踩地雷的程式
当遇到1时 以*向上下左右炸开
0000 0*00
0100 ---> ***0
0000 0*00
character*30 a(5,10)
character*30 aa(5,10)
read(*,'(a)') a(5,10),aa(5,10)
if(a(1,1).eq.'1') then
aa(1,1)='*'
aa(2,1)='*'
aa(1,2)='*'
end if
if(a(5,1).eq.'1') then
aa(5,1)='*'
aa(5,2)='*'
aa(4,1)='*'
end if
if(a(1,10).eq.'1') then
aa(1,10)='*'
aa(1,9)='*'
aa(2,10)='*'
end if
if(a(5,10).eq.'1') then
aa(5,10)='*'
aa(5,9)='*'
aa(4,9)='*'
end if
do 11 j=2,9
if (a(1,j).eq.'1') then
aa(i,j)='*'
aa(i,j-1)='*'
aa(i+1,j)='*'
aa(i,j+1)='*'
end if
11 continue
do 22 j=2,9
if (a(5,j).eq.'1') then
aa(i,j)='*'
aa(i-1,j)='*'
aa(i,j+1)='*'
aa(i,j-1)='*'
end if
22 continue
do 33 i=2,4
if (a(i,1).eq.'1') then
aa(i,j)='*'
aa(i,j+1)='*'
aa(i-1,j)='*'
aa(i+1,j)='*'
end if
33 continue
do 44 i=2,4
if (a(i,10).eq.'1') then
aa(i,j)='*'
aa(i+1,j)='*'
aa(i-1,j)='*'
aa(i,j-1)='*'
end if
44 continue
do 50 i=2,4
do 60 j=2,9
if(a(i,j).eq.'1') then
aa(i,j)='*'
aa(i+1,j)='*'
aa(i-1,j)='*'
aa(i,j+1)='*'
aa(i,j-1)='*'
end if
60 continue
50 continue
end
有点长...
我的问题是
input 一个档案
但我output都没东西...
不知问题在哪..
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.118.244
※ 编辑: gastby 来自: 122.117.118.244 (06/02 02:31)
1F:推 ckshfire:你好像没有叫程式把aa输出 06/02 10:35
2F:推 skyrjs:有可能喔~ 而且你把他令作"30"长度 有点长? 06/02 15:05
3F:→ gastby:可以输出了 但是..结果是错的 不知哪里有问题..y 06/03 00:12
4F:推 Cypresslin:所以你有读入档案?然後你说结果出错是怎麽个错法呢? 06/03 19:49