1

我使用字符串来呈现信息,它是一个十六进制字符串。而这些字符串序列的形状是一个矩形。但是,我想通过删除无用的十六进制数字并替换为“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”替换,这六个数字就是所谓的“无用十六进制”,依此类推。

我使用的代码可以打印一个圆圈,但这并不是我想要的。我在实现该功能时遇到问题。如果有人帮助我更改一些代码或完全更改,我将非常感激。

4

1 回答 1

0

代替

cout << "ff11";

例如,一个字符而不是四个字符

cout << "f";

然后你会得到你想要的。

于 2013-07-17T13:47:37.807 回答