[作業] 請強者幫忙

看板b99902HW作者 (沒什麼暱稱)時間15年前 (2010/10/08 16:13), 編輯推噓2(206)
留言8則, 3人參與, 最新討論串1/3 (看更多)
以下是我metal strength作業的程式碼 #include<stdio.h> main() { int row; int column; int judge; int i,j,k; int m,n; int a; int x[25],y[25]; int pattern[5][5]; double s[300][300]; scanf("%d%d",&row,&column); // 輸入行列數 for ( i=0; i<row; i++ ) for ( j=0; j<column; j++ ) scanf("%lf",&s[i][j]); // 輸入strength scanf("%d",&k); // 輸入pattern大小 for ( i=0; i<k; i++ ) for ( j=0; j<k; j++ ) scanf("%d",&pattern[i][j]); // 輸入pattern for ( i=0; i<k; i++ ) for ( j=0; j<k; j++ ){ x[pattern[i][j]]=i; // pattern的行 y[pattern[i][j]]=j; // pattern的列 } for ( m=0; m<(row-k+1); m++ ) for ( n=0; n<(column-k+1); n++ ){ for ( a=0; a<k*k; a++ ){ if ( s[m+x[a]][n+y[a]] < s[m+x[a+1]][n+y[a+1]] ) judge=1; // 0跟1比、1跟2比... else judge=0; break; } // 定pattern左上角為(m,n) if ( judge=1 ){ printf("%d\n",m+(k-1)/2); printf("%d\n",n+(k-1)/2); } } } 這個碼怎麼弄都是兩分 我一直找不出錯在哪@@ 請強者幫忙 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.239.58

10/08 16:35, , 1F
a要小於(k^2-1)喔~or你的判斷會0~XD
10/08 16:35, 1F

10/08 16:36, , 2F
你似乎就是微甲坐我後方的同學吧XD&我不是強者…科科
10/08 16:36, 2F

10/08 16:40, , 3F
if(judge == 1)中你少打一個等號說~
10/08 16:40, 3F

10/08 16:44, , 4F
最後(?),k=1有點特別,你的檢查機制有一定的機率出錯喔~
10/08 16:44, 4F

10/08 17:34, , 5F
怎麼還是兩分@@
10/08 17:34, 5F

10/08 17:55, , 6F
如果你搞定k=1了的話,那就剩你的else沒括XDD
10/08 17:55, 6F

10/08 18:22, , 7F
謝謝 我終於10分了 好感動= =
10/08 18:22, 7F

10/10 17:26, , 8F
我想請問一下 是array的區塊剛好符合k*k才會比嗎?
10/10 17:26, 8F
文章代碼(AID): #1ChjAFBR (b99902HW)
文章代碼(AID): #1ChjAFBR (b99902HW)