作者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