看板 Programming 關於我們 聯絡資訊
==============================source code==================================== /***************************************************** ** Program: To find the median of each 3*3 square ** ** in the array IMG. ** ** Author: VENGENE ** *****************************************************/ #include<stdio.h> #include<stdlib.h> void main() { int IMG[10][10]={0}; int NEW[10][10]={0}; int i, j, k, l, m, n; int p, q; int buffer[576]={0}; int strcmp[9]={0}; int temp=0; for(i=0; i<10; i++) for(j=0; j<10; j++) { srand((i*13+j)*(i*17-j)); IMG[i][j]=rand()%256; } printf("IMG陣列的原始資料:\n"); for(i=0; i<10; i++) { for(j=0; j<10; j++) { printf("%4d ", IMG[i][j]); } printf("\n"); } for(i=0, n=0; i<8; i++) for(j=0; j<8; j++){ for(k=0; k<3 && i+k<10; k++) for(l=0; l<3 && j+l<10; l++){ buffer[n]=IMG[i+k][j+l]; // 改寫成一維陣列 n++; } for(m=0, q=0; q<9; m++, q++) strcmp[q]=buffer[n+m-9]; // 讀取九宮格數值 for(p=1; p<9; p++) for(q=0; q<9-p; q++) if(strcmp[q]>strcmp[q+1]){ // 排序 temp=strcmp[q]; strcmp[q]=strcmp[q+1]; strcmp[q+1]=temp; } NEW[i+1][j+1]=strcmp[4]; // 回傳至NEW二維陣列 } printf("\n中值偵測後的NEW陣列資料:\n"); for(i=0; i<10; i++) { for(j=0; j<10; j++) { printf("%4d ", NEW[i][j]); } printf("\n"); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.71.11.171
ephesians:strcmp[q]=buffer[n-m] 讀九個數? 218.160.208.76 06/19 17:20
VENGENE:n++最後的值10 q++ 0~8 共9個啊:D 140.123.222.57 06/19 22:32
VENGENE:問題已發現 解決~ 140.123.222.57 06/19 22:43
※ 編輯: VENGENE 來自: 140.123.222.57 (06/20 16:43)