我正在尝试解决定义的here编程挑战。
基本上,我用普通字符解决了问题的本质,例如执行zoom(7)
返回
0000000
0xxxxx0
0x000x0
0x0x0x0
0x000x0
0xxxxx0
0000000
这是正确的模式。
但是,作为额外的难度,字符必须是□
处的空方0
和■
处的填充x
。
如果我尝试替换那些我得到的字符
□□□□□□□��□□□□
�■■■■■□□□□□��□□□□
��□□□��■■■□□□□□��□□□□
���■�□□��■■■□□□□□��□□□□
��□□□��■■■□□□□□��□□□□
�■■■■■□□□□□��□□□□
□□□□□□□��□□□□
我不知道导致问题的原因,如果控制台无法打印这样的方块,或者在打印浮动时需要一些额外的规格,或者其他什么。我尝试按here中的建议定义平方,但没有任何改变。
这是返回3x3解决方案的基本示例
#include <iostream>
#include <string>
int main() {
std::string res;
std::string prim;
std::string sec;
//~ prim = "x"; // filled square
//~ sec = "0"; // empty square
prim = "■"; // filled square
sec = "□"; // empty square
res += sec; res += sec; res += sec; res += "\n";
res += sec; res += prim; res += sec; res += "\n";
res += sec; res += sec; res += sec; res += "\n";
std::cout << res;
return 0;
}