仪器社区

c++习题求指点,二维数组,中值滤波器

淓郁q 2016-09-07
有一个可包含三个数的窗口(括号部分),初始位置如下,对窗口中的数字排序,然后用排序后的数字的中间值代替原排列的中间值,之后窗口右移一个位置,重复上述处理,直至边界,窗口下移一行,再从左往右依次进行上述处理。 【50 60 30】 100 120 80 19... 有一个可包含三个数的窗口(括号部分),初始位置如下,对窗口中的数字排序,然后用排序后的数字的中间值代替原排列的中间值,之后窗口右移一个位置,重复上述处理,直至边界,窗口下移一行,再从左往右依次进行上述处理。 【50 60 30】 100 120 80 190 40 70 10 30 200 250 180 30 90 100 70 40 50 50 10 10 20 90 200 300 70 200 100 17 15 19 30 37 55 59 270 32 45 77 19 18 99 33 45 65 74 88
评论
全部评论
小布阿TvT
#include
#include
using namespace std;

int A[7][7]=
{{50,60,30,100,120,80,190},
{40,70,10,30,200,250,180},
{30,90,100,70,40,50,50},
{10,10,20,90,200,300,70},
{200,100,17,15,19,30,37},
{55,59,270,32,45,77,19},
{18,99,33,45,65,74,88}};

int Middle(int a,int b,int c)
{
int mid=a;
if((mid-b)*(mid-c)>0)
mid=b;
if((mid-a)*(mid-c)>0)
mid=c;
return mid;
}
int main()
{
int Mid[7][5],i,j;
for(i=0;i<7;i++)
{
for(j=1;j<6;j++)
Mid[i][j-1]=Middle(A[i][j-1],A[i][j],A[i][j+1]);
}

for(i=0;i<7;i++)
{
for(j=0;j<5;j++)
cout< cout< }
return 0;
}
//希望是你想要的
17 0 2016-09-08 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论