void __fastcall TForm1::Step(int _Sum, int _Num, int _Val)
{
if (_Sum <= 0 || _Num <= 0 || _Sum < _Val) return;
if (_Num == 1)
{
data[theK - 1] = _Sum;
Memo1->Lines->Add("{");
for (int i = 0; i < theK; ++i)
Memo1->Lines->Add(data[i]);
sc++;
Memo1->Lines->Add("}");
Memo1->Lines->Add("\n");
Label4->Caption = sc;
return;
}
for (int i = _Val; i < _Sum; ++i)
{
data[theK - _Num] = i;
Step(_Sum - i, _Num - 1, i);
}
}
我有这样的输出:
1
2
3
4
<5 > 9
10
11
12
但我需要输出:
1,2,3,4
5,6,7,8
9,10,11,12
如何在C ++ Builder中完成?我有Memo1或ListBox。我需要格式化输出。
答案 0 :(得分:1)
我通常为每行输出构建一个UnicodeString,如下所示:
UnicodeString Str;
for (int I =0; I<5;i++)
{
Str += IntToStr(I)+","
};
Str.SetLength(Str.Length -1); // trim off last comma
Memo1->Add(Str);