gpt4 book ai didi

c++ - 简单的 map 绘制问题

转载 作者:行者123 更新时间:2023-11-30 02:51:59 24 4
gpt4 key购买 nike

我编写了一个简单的 map 绘图程序,但存在一些我无法识别的错误。

  1. 该错误仅在 X 坐标为正时出现,当其为负值时正常。
  2. 为什么当我的范围只有 11 时打印最后一列点?

代码如下:

int xRange = 11;
int yRange = 11;
string _space = " ";
string _star = " * ";

for( int x = xRange; x > 0; x-- )
{
for( int y = 0; y < yRange; y++ )
{
int currentX = x - 6;
int currentY = y - 5;

//demo input
int testX = 2; //<----------ERROR for +ve int, correct for -ve
int testY = -4; //<-------- Y is working ok for +ve and -ve int

//Print x-axis
if( currentY == 0 )
{
if( currentX < 0 )
cout << currentX << " ";
else
cout << " " << currentX << " ";
}
//Print y-axis
if( currentX == 0 )
{
if( currentY < 0 )
cout << currentY << " ";
else
//0 printed in x axis already
if( currentY != 0 )
cout << " " << currentY << " ";
}
else if( currentY == testX and currentX == testY )
cout << _star;
else
cout << " . ";
}
//print new line every completed row print
cout << endl;
}

演示输入 (x: 2, y: -4) 的输出:(它显示 x 为 3,这是错误的)

 .  .  .  .  .  5  .  .  .  .  .  . 
. . . . . 4 . . . . . .
. . . . . 3 . . . . . .
. . . . . 2 . . . . . .
. . . . . 1 . . . . . .
-5 -4 -3 -2 -1 0 1 2 3 4 5
. . . . . -1 . . . . . .
. . . . . -2 . . . . . .
. . . . . -3 . . . . . .
. . . . . -4 . . * . . .
. . . . . -5 . . . . . .

演示输入 (x: -2, y: 4) 的输出:

 .  .  .  .  .  5  .  .  .  .  .  . 
. . . * . 4 . . . . . .
. . . . . 3 . . . . . .
. . . . . 2 . . . . . .
. . . . . 1 . . . . . .
-5 -4 -3 -2 -1 0 1 2 3 4 5
. . . . . -1 . . . . . .
. . . . . -2 . . . . . .
. . . . . -3 . . . . . .
. . . . . -4 . . . . . .
. . . . . -5 . . . . . .

任何人都可以帮助确定我的代码中的两个问题吗?谢谢。

最佳答案

if(currentY == testX and currentX == testY)

这看起来不对。您不应该将 X 与 X 以及 Y 与 Y 进行比较吗?

细看之下,更是陌生。您的外部循环生成行,但您使用 x 对它们进行索引。内循环为每一行生成列,您使用 y 对其进行索引。人们普遍混淆了哪个轴是 X 轴,哪个轴是 Y 轴。

编辑:啊,我现在明白问题所在了。当 currentY == 0 时,您打印轴的数字,并且打印点。

关于c++ - 简单的 map 绘制问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19347441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com