二维数组
救救我{:10_266:}假设有一个Land的二维数组,里面可随机输入1,再输入一个int “size”的变量
如果数组中的某个元素为1,检测它周围的所有格子(考虑边界判断),如果这个元素周围的格子里有1的个数>size,则把这个元素初始化。
例见图片 本帖最后由 jhq999 于 2021-10-26 16:26 编辑
一个思路
看来得用两个一样大小的二维数组
Land,Land_1={0};
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
{
if(Land)
{
count=0;
for(k=-1;k<2;k++)//
{
for(l=-1;l<2;l++)//周围(i-1,j-1),(i-1,j), (i-1,j+1)
//(i,j-1), (i,j), (i,j+1)
//(i+1,j-1),(i+1,j),(i+1,j+1)
{
if(((i+k)>=0)&&((i+k)<=7)&&((j+l)>=0)&&((j+l)<=7))//判断是否在数组范围内
{
if(Land)count++;
}
}
}
count--;//减去自己
if(count<size)Land_1=1;
}
}
}
Land_1就是答案
页:
[1]