我使用字符串来呈现信息,它是一个十六进制字符串。而这些字符串序列的形状是一个矩形。但是,我想通过删除无用的十六进制数字并替换为“0”来将形状更改为圆形
例如:十六进制字符串是
"f1ffffffff"
"ff2fffffff"
"fff3ffffff"
"ffff4fffff"
"fffff5ffff"
"ffffff6fff"
"fffffff7ff"
"ffffffff8f"
"fffffffff9"
"ffffffffff"
圆形的输出十六进制字符串是
"000ffff000"
"002fffff00"
"0ff3fffff0"
"0fff4ffff0"
"fffff5ffff"
"ffffff6fff"
"0ffffff7f0"
"0fffffff80"
"00ffffff00"
"000ffff000"
我尝试使用如下生成圆圈的程序:
void main()
{
int radius;
cout << "Input circle's radius: ";
cin >> radius;
for (int i = 1; i <= radius*2; i++)
cout << "=";
cout << endl;
for (int x = 1; x < radius*2; x++)
{
for (int y = 1; y < radius*2; y++)
{
if (abs(y - radius) * abs(y - radius) + abs(x - radius) * abs(x - radius) <= radius * radius)
cout << "ff11";
else cout << " ";
}
cout << endl;
}
}
我遇到的问题是程序更改了十六进制字符串的位置,但没有删除无用的十六进制。有人可以帮我写代码吗?
编辑:
上面的例子是一个十字符串序列,每个字符串有十个十六进制数字,由我生成。我想重新塑造 seq 1 使它看起来像一个圆圈(seq 2“0”代表“没有词”)。所以对于第一行,我删除了前三个十六进制数字和最后三个十六进制数字并用“0”替换,这六个数字就是所谓的“无用十六进制”,依此类推。
我使用的代码可以打印一个圆圈,但这并不是我想要的。我在实现该功能时遇到问题。如果有人帮助我更改一些代码或完全更改,我将非常感激。