| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1088 人关注过本帖
标题:代码中的for()函数,每轮循环是否成功赋值给point[a][b].areacount
取消只看楼主 加入收藏
Vephoo
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2022-2-23
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
代码中的for()函数,每轮循环是否成功赋值给point[a][b].areacount
        //两个for()循环遍历point[a][b]所有的点,并计算每个点的point[a][b].areacount值
        for (int a = 0; a < 188; a++)
        {
            for (int b = 0; b < 132; b++)
            {
                //每次计算areacount值前必须先置0;
                if (point[a][b].areacount != 0)
                    point[a][b].areacount = 0;

                //寻找点point[a][b]周围符合point[k][K].color == 1的点,若符合则point[a][b].areacount的值加1
                int k = a - 1, K = b - 1;
                for (k; k <= a + 1; k++)
                {
                    for (K; K <= b + 1; K++)
                    {
                        if ( (!(k == a && K == b)==1)  &&  (k >= 0 && k <= 187 && K >= 0 && K <= 131)  &&  (point[k][K].color == 1) )
                            point[a][b].areacount += 1;
                    }
                }

            }
        }

代码中的for()函数,每轮循环是否正确赋值给point[a][b].areacount,有没有其它更优的实现方法。谢谢。
搜索更多相关主题的帖子: 赋值 for point 循环 代码 
2022-02-23 14:23
Vephoo
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2022-2-23
收藏
得分:0 
回复 2楼 rjsp
多谢大佬指导!刚刚取point[1][1]周围的点赋初值测试了一下,结果不对。。不知道是边界问题,还是实现的逻辑有误,我还得再看看。
if ( (!(k == a && K == b)==1)  &&  (k >= 0 && k <= 187 && K >= 0 && K <= 131)  &&  (point[k][K].color == 1) )
 point[a][b].areacount += 1
这里是根据任一点周围八个的点的point[a][b].color值,计算point[a][b].areacount的值。周围每有一个点的color值为1,则这一点的point[a][b].areacount就加1。
这一行中的三个条件中,第一个条件的位置不讲究,但是第二个条件应是第三个的先决条件,因为如果a和b是临界值的话,point[k][K]可能不存在。
那如果将第三个条件置于第二个的之前会引发什么后果吗?
另外这三个条件是嵌套关系或是并列关系会有什么不同?
2022-02-23 17:44
Vephoo
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2022-2-23
收藏
得分:0 
回复 3楼 rjsp
哈哈,忘了!  定义结构体以及这一步开始前,确实还没有给point[a][b].areacount赋初值。
不知道结构体里面直接int point[a][b].areacount = 0行不。。。
如果不行我就只会用两个for循环逐个赋值了,还有其它方法吗
2022-02-23 17:49
快速回复:代码中的for()函数,每轮循环是否成功赋值给point[a][b].areacount
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017600 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved