當前位置:編程學習大全網 - 編程軟體 - c primer plus 編程練習

c primer plus 編程練習

第13題?比較arr[i][j]和上下左右四個相鄰的元素就是了,如果之間的差不是全部大於1就不用動,否則用邊上那四個的平均值代替arr[i][j]就是了,註意壹下邊角的情況即可

...看看下面這個程序能用不

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);//四舍五入

}

}

}

  • 上一篇:二進制轉換成十進制怎麽算?
  • 下一篇:邁銳寶XLIOI人機模塊是德爾福的嗎
  • copyright 2024編程學習大全網