无法进入while循环。它与使用无序地图有关吗?

JK工程工作视频

我正在尝试进行编码挑战,我们必须缩短和最小化方向指示。在执行while循环之前,我正在使用无序映射。其余代码按预期工作,但是while循环无法实现,因此我无法输出适当的值。

std::vector<std::string> dirReduc(std::vector <std::string>& arr)
{
    enum Direction
    {
        NORTH = 1, SOUTH = -1,
        EAST = 1, WEST = -1
    };
    int x=0, y=0;
    std::unordered_map<std::string, Direction> uMapDir = { {"North",NORTH},{"NORTH",NORTH},
                                                        {"South",SOUTH},{"SOUTH",SOUTH},
                                                        {"East",EAST},{"EAST",EAST},
                                                        {"West",WEST},{"WEST",WEST} };
    for (std::vector<std::string> ::const_iterator i =arr.begin(); i!=arr.end() ; i ++)
    {
        if ((*i=="North")||(*i == "NORTH")||(*i=="South")|| (*i == "SOUTH"))
        {
            y += uMapDir[*i];
        }
        else
        {
            x += uMapDir[*i];
        }
    }
    std::vector<std::string> outPutArr;
    while ((x!=0)&&(y!=0))
    {
        if (x<0)
        {
            x++;
            outPutArr.push_back("WEST");
        }
        else
        {
            x--;
            outPutArr.push_back("EAST");
        }

        if (y < 0)
        {
            y++;
            outPutArr.push_back("SOUTH");
        }
        else
        {
            y--;
            outPutArr.push_back("NORTH");
        }
    }
    return outPutArr;
}
scohe001

你的问题是,你正在试图做的都xy在同一回路。这意味着每个循环都必须push_back向东或向西 push_back向南或向北。但这没有任何意义。如果每个人的号码都不相同怎么办?

相反,您应该使用两个循环:

while (x)
{
    if (x<0)
    {
        x++;
        outPutArr.push_back("WEST");
    }
    else
    {
        x--;
        outPutArr.push_back("EAST");
    }
}

while(y) {
    if (y < 0)
    {
        y++;
        outPutArr.push_back("SOUTH");
    }
    else
    {
        y--;
        outPutArr.push_back("NORTH");
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

引导分区丢失了吗?无法再启动到Ubuntu。它与GRUB或Boot分区或类似分区有关吗?

来自分类Dev

启动分区丢失?无法再启动到 Ubuntu。它与 GRUB 或 Boot 分区或类似分区有关吗?

来自分类Dev

条件的顺序与while循环中的多个条件有关吗?

来自分类Dev

我的pkpass文件无法正常工作。相信它与领域有关

来自分类Dev

我如何改善有关while循环的python代码

来自分类Dev

由于lldpd安装依赖性,MAAS 2.4调试失败?它与委托节点网络有关吗?

来自分类Dev

有关矩阵的循环实现问题

来自分类Dev

PHP MySQL if / while循环阻止创建记录。与JQuery多张图片上传有关

来自分类Dev

我的代码中与while循环和数组有关的问题

来自分类Dev

是a == * a吗?有关指针的查询

来自分类Dev

scanf和格式有关吗?

来自分类Dev

参数顺序与tar有关吗?

来自分类Dev

BASIC与Visual Basic有关吗?

来自分类Dev

有关此地图的说明减少了字数示例?

来自分类Dev

Google移动站点地图备用链接,与XHTML有关

来自分类Dev

寻找有关球拍中“地图”的说明

来自分类Dev

高效的循环代码?另外,有关“ for each”循环的查询

来自分类Dev

高效的循环代码?另外,有关“ for each”循环的查询

来自分类Dev

这个PHP foreach循环有什么作用?(与创建对数组中每个元素的引用有关吗?)

来自分类Dev

有关重构Scala的建议-是否可以消除在foreach循环中使用的var

来自分类Dev

属性访问在print语句中有效,但在while循环中引发有关NoneType的AttributeError

来自分类Dev

可能与proguard有关吗?-查询数据存储时使用“缺少”类的神秘的“ NullPonterException”

来自分类Dev

非活动内存与已提交但未使用的内存有关吗?

来自分类Dev

CUDA:这与每个线程的寄存器使用情况有关吗?

来自分类Dev

我可以使用wifi获得有关速度的一些建议吗?

来自分类Dev

有关使用Ninject的问题

来自分类Dev

有关使用FileSystemObject的木马警告

来自分类Dev

有关使用同步方法的问题

来自分类Dev

有关使用argparse的建议

Related 相关文章

  1. 1

    引导分区丢失了吗?无法再启动到Ubuntu。它与GRUB或Boot分区或类似分区有关吗?

  2. 2

    启动分区丢失?无法再启动到 Ubuntu。它与 GRUB 或 Boot 分区或类似分区有关吗?

  3. 3

    条件的顺序与while循环中的多个条件有关吗?

  4. 4

    我的pkpass文件无法正常工作。相信它与领域有关

  5. 5

    我如何改善有关while循环的python代码

  6. 6

    由于lldpd安装依赖性,MAAS 2.4调试失败?它与委托节点网络有关吗?

  7. 7

    有关矩阵的循环实现问题

  8. 8

    PHP MySQL if / while循环阻止创建记录。与JQuery多张图片上传有关

  9. 9

    我的代码中与while循环和数组有关的问题

  10. 10

    是a == * a吗?有关指针的查询

  11. 11

    scanf和格式有关吗?

  12. 12

    参数顺序与tar有关吗?

  13. 13

    BASIC与Visual Basic有关吗?

  14. 14

    有关此地图的说明减少了字数示例?

  15. 15

    Google移动站点地图备用链接,与XHTML有关

  16. 16

    寻找有关球拍中“地图”的说明

  17. 17

    高效的循环代码?另外,有关“ for each”循环的查询

  18. 18

    高效的循环代码?另外,有关“ for each”循环的查询

  19. 19

    这个PHP foreach循环有什么作用?(与创建对数组中每个元素的引用有关吗?)

  20. 20

    有关重构Scala的建议-是否可以消除在foreach循环中使用的var

  21. 21

    属性访问在print语句中有效,但在while循环中引发有关NoneType的AttributeError

  22. 22

    可能与proguard有关吗?-查询数据存储时使用“缺少”类的神秘的“ NullPonterException”

  23. 23

    非活动内存与已提交但未使用的内存有关吗?

  24. 24

    CUDA:这与每个线程的寄存器使用情况有关吗?

  25. 25

    我可以使用wifi获得有关速度的一些建议吗?

  26. 26

    有关使用Ninject的问题

  27. 27

    有关使用FileSystemObject的木马警告

  28. 28

    有关使用同步方法的问题

  29. 29

    有关使用argparse的建议

热门标签

归档