回傳陣列數值 已解決

看板Programming作者 (我不在~)時間18年前 (2007/06/19 16:25), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
==============================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

06/19 17:20, , 1F
strcmp[q]=buffer[n-m] 讀九個數?
06/19 17:20, 1F

06/19 22:32, , 2F
n++最後的值10 q++ 0~8 共9個啊:D
06/19 22:32, 2F

06/19 22:43, , 3F
問題已發現 解決~
06/19 22:43, 3F
※ 編輯: VENGENE 來自: 140.123.222.57 (06/20 16:43)
文章代碼(AID): #16TvC42N (Programming)
文章代碼(AID): #16TvC42N (Programming)