Re: [問題] 請問要如何將迴圈簡化..

看板C_and_CPP (C/C++)作者 (一個人 )時間16年前 (2009/10/03 02:53), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《flyingnick (一個人 )》之銘言: : for(i=1;i<y_size+1;i++) : { : for (j=1;j<x_size+1;j++) : { : for (x=-1;x<18;x++) : { : for (y=-1;y<18;y++) : { : block[tx][ty]=image_in[i-x][j-y]; ty++; sum=sum+block[tx][ty]; if(ty==19) { ty=0; tx++; } if (tx==19) { ty=0; tx=0 ; 以下省略.... } :   } : } : } : } : 如何將x和y兩個for迴圈改寫為其他寫法...但最後功能相同呢? : 小弟愚鈍,請多指教... 我想要把x和y那兩個迴圈改寫成其他寫法,不然四個迴圈時間複雜度有點高.. 我希望最多一次只跑三個for就好了..能兩個就更好... 所以我想是否有方法可以把 for (x=-1;x<18;x++) { for (y=-1;y<18;y++) { 改寫....當然最後結果要和上述的迴圈相同... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.50.26
文章代碼(AID): #1AnamyDL (C_and_CPP)
文章代碼(AID): #1AnamyDL (C_and_CPP)