我有一个nxn
网格随机生成的数字。我有一个标签显示X轴和Y轴的元素编号:
它可以正确对齐单位数字,但是当网格尺寸增加时,标签会变得不成比例,并且不会像这样排列:
我想知道是否有办法让标签与网格中的数字对齐,并根据尺寸进行缩放。这甚至可能吗?
答案 0 :(得分:1)
您可以使用它来确定整数中的位数:
int getDigits(int col)
{
int len = 1;
while ( col/= 10 )
{
len++;
}
return len;
}
使用此功能,您可以在循环时确定要打印的" "
的数量。
std::string space(getDigits(column), ' ');
std::cout<<space<<num;
答案 1 :(得分:0)
您可以使用两行作为顶部编号,并计算出一个简单的计算来确定是否显示该行的数字。 例如,顶行可以是“十”列,第二行可以是单位。您知道有20列,因此如果循环的当前计数小于10,则可以显示空格字符或零。如果它不小于10,则显示1个字符。 然后底行可以循环0到9两次。