问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中,如何描述“遍历二维数组某一格周围格子”?

发布网友 发布时间:2023-11-12 10:37

我来回答

3个回答

热心网友 时间:2024-11-18 10:31

int dir[8][2] = {
-1, 0,
1, 0,
0, 1,
0, -1,
-1, -1,
-1, 1,
1, -1,
1, 1};
int x, y, i, next_x, next_y;
/*然后设当前位置为第x行第y列,一共n行m列,行号列号从0开始到n-1和m-1*/
for (i = 0; i < 8; i ++)
{
next_x = x + dir[i][0];
next_y = y + dir[i][1];
if (next_x < 0 || next_x >= n || next_y < 0 || next_y >= m) /*这里判断next_x和next_y是不是在行号/列号的范围内,如果不在的话*/
continue; /*这一组next_x和next_y就不处理*/

/*这里第next_x行,next_y列就是第x行第y列的周围某个格子*/
}

热心网友 时间:2024-11-18 10:31

假如二维数组是a[M][N]的话,首先通过角标判断是在中间还是边上还是角上,然后改变角标,遍历就行了。假如要遍历周围格子的那一格为a[i][j]
if (i == 0 & j == 0)
//遍历 a[i+1][j], a[i][j+1], a[i+1][j+1]

else if (i == 0 & j == N-1)
//遍历 a[i][j-1], a[i+1][j], a[i-1][j-1]
else if (i == M-1 & j == 0)
//遍历 a[i-1][j], a[i][j+1], a[i-1][j+1]
else if (i == M-1 & j == N-1)
//遍历 a[i][j-1], a[i-1][j], a[i-1][j-1]
else if (i == 0 & j != 0 & j != N-1)
//遍历 a[i][j-1], a[i][j+1], a[i+1][j], a[i+1][j-1], a[i+1][j+1]
else if (i == M-1 & j != 0 & j != N-1)
//遍历 a[i][j-1], a[i][j+1], a[i-1][j], a[i-1][j-1], a[i-1][j+1]
else if (j == 0 & i != 0 & i != M-1)
//遍历 a[i-1][j], a[i+1][j], a[i][j+1], a[i-1][j+1], a[i+1][j+1]
else if (j == N-1 & i != 0 & i != M-1)
//遍历 a[i-1][j], a[i+1][j], a[i][j-1], a[i-1][j-1], a[i+1][j-1]
else
//遍历 a[i-1][j], a[i+1][j], a[i][j-1], a[i][j+1], a[i-1][j-1], a[i+1][j-1], a[i-1][j+1], a[i+1][j+1]

热心网友 时间:2024-11-18 10:32

设当前位置为i,j,周围的格子分别+1,-1不就是了吗,当然这中间需要判断是否小于0,以及是否大于数组长度(一维与二维都要判断)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
kmose正确使用方法? 单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 联想扬天T6900c 台式电脑21.5英寸好用吗 布加迪威龙大概多少w元1 火车票计税后还可以加计抵减吗? 不得不说一见钟情的荣威RX5 PLUS,感谢有你 QQ三国的角色名字可以改吗? IEBOOK是用什么软件开发的? 社保绑定银行卡没有扣费? 个人投社保,11月份的忘了往银行卡上打钱了没有扣款怎么补交? 晕车的晕的另外一个读音可以组什么词325 从鳌江动车站到南雁荡山底出租车要多少钱 怎样才可以让我的短叶虎尾兰长的快一点呢?5 谁有赞美南雁荡山的诗?要清代以前的5 短叶虎尾兰能去甲醛吗?8 短叶虎尾兰能活几年1 想去南雁荡山玩,请教些问题。。 民航飞行员报考条件303 我的社保卡是和一个银行卡绑定的 卡里有钱但是没有扣是怎么回事...8 请问,社保是自动扣款的吗? 为什么我们企业绑定的银行卡没有扣... 深圳银湖汽车站到东莞大朗的公交车8 谁有iebook专业版的软件 。谢谢 报考民航飞行员需要什么学历和自身条件60 在记忆中的年味中作者描述的过年和我们过年有什么不同? 初中纸质档案有涂改,请问对升高中有什么影响吗? 蓝魔W12 酷比魔方U9GT以及novo8这三个平板电脑我该... 绳的形近字有哪些485 移动88套餐送宽带,怎么每月还加收150元的裸宽带费? 研究性学习课题小组活动记录表 最后一个了帮帮忙1 115网盘怎么下载东西6 手机本地视频无法在电脑上播放1 为什么很多长得很帅的男孩都没有女友? 求助,郑州火车站到郑州职业技术学院怎么走4 为什么经济学中的供给&#47;需求曲线不是抛1 深圳东盟联合能源投资发展有限公司怎么样? iebook超级精灵是什么软件 电脑新版MVBOX录音没声音怎么回事2 深圳联合能源控股有限公司怎么样?1 我在平阳去南雁荡山玩一次大概要多少钱3 深圳联合能源控股有限公司怎么样?6 “晕车”的读音是什么?17 联合能源(北京)有限公司怎么样?