作者absent0918 (沒什麼暱稱)
看板b99902HW
標題[作業] 請強者幫忙
時間Fri Oct 8 16:12:58 2010
以下是我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
1F:→ didiwu:a要小於(k^2-1)喔~or你的判斷會0~XD 10/08 16:35
2F:→ didiwu:你似乎就是微甲坐我後方的同學吧XD&我不是強者…科科 10/08 16:36
3F:→ didiwu:if(judge == 1)中你少打一個等號說~ 10/08 16:40
4F:推 didiwu:最後(?),k=1有點特別,你的檢查機制有一定的機率出錯喔~ 10/08 16:44
5F:→ absent0918:怎麼還是兩分@@ 10/08 17:34
6F:→ didiwu:如果你搞定k=1了的話,那就剩你的else沒括XDD 10/08 17:55
7F:→ absent0918:謝謝 我終於10分了 好感動= = 10/08 18:22
8F:推 arthur104:我想請問一下 是array的區塊剛好符合k*k才會比嗎? 10/10 17:26