...看看下面這個程序能用不
void fun(int arr[][30])
{
int round;
int i,j,flag1,flag2,flag3,flag4,num1,num2,num3,num4;
for(i=0;i<20;i++)
for(j=0;j<30;j++)
{
round=4;//表示該元素周圍的元素個數,1,2,3,4
if(i==0)//考慮處於第壹行的情況
{
num1=0;//求平均數的時候用
flag1=1;//相差是否大於1的標誌
round--;
}
else
{
num1=arr[i-1][j];
flag1=(abs(arr[i][j]-num1)>1?1:0);
}
if(j==0)
{
num2=0;
flag2=1;
round--;
}
else
{
num2=arr[i][j-1];
flag2=(abs(arr[i][j]-num2)>1?1:0);
}
if(j==29)
{
num3=0;
flag3=1;
round--;
}
else
{
num3=arr[i][j+1];
flag3=(abs(arr[i][j]-num3)>1?1:0);
}
if(i==19)
{
num4=0;
flag4=1;
round--;
}
else
{
num4=arr[i+1][j];
flag4=(abs(arr[i][j]-num4)>1?1:0);
}
if(flag1 && flag2 && flag3 && flag4)
{
arr[i][j]=(int)((float)(num1+num2+num3+num4)/round+0.5);//四舍五入
}
}
}