有一个可包含三个数的窗口(括号部分),初始位置如下,对窗口中的数字排序,然后用排序后的数字的中间值代替原排列的中间值,之后窗口右移一个位置,重复上述处理,直至边界,窗口下移一行,再从左往右依次进行上述处理。 【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
#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;
}
//希望是你想要的