矩形到带C的字符串中的圆
rectangle to circle in string with C
本文关键字:字符串 更新时间:2023-10-16
我使用字符串来表示信息,它是一个十六进制字符串。这些字符串序列的形状是一个矩形。然而,我想通过删除无用的十六进制数字并替换为"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;
}
}
我遇到的问题是程序改变了十六进制字符串的位置,但没有删除无用的十六进制。有人能帮我拿密码吗?
编辑:
上面的例子是一个十个字符串序列,每个字符串有十个十六进制数字,这是我生成的。我想重新塑造seq1,使其看起来像一个圆圈(seq2"0"表示"没有单词")。因此,对于第一行,我删除了前三个十六进制数和最后三个六进制数,并用"0"代替,这六个数字被称为"无用的十六进制",依此类推
我使用的代码可以打印一个圆圈,但这并不是我想要的。我有问题来实现这个功能。如果有人帮我更改一些代码或完全更改,我将非常感激。
更换
cout << "ff11";
使用一个字符而不是四个字符,例如
cout << "f";
然后你就会得到你想要的。