作者VENGENE (我不在~)
看板Programming
標題[請益] 回傳陣列數值
時間Tue Jun 19 16:25:39 2007
==============================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)