-2
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);
    }
}

I have output like this:

1
2
3
4

5
6
7
8

9
10
11
12

But I need output like:

1,2,3,4
5,6,7,8
9,10,11,12

How to do it in C++ Builder? I have Memo1 or ListBox. I need formatting output.

Remy Lebeau
  • 555,201
  • 31
  • 458
  • 770

1 Answers1

1

I usually build a UnicodeString for each line of output like so:

UnicodeString Str;
for (int I =0; I<5;i++)
{
  Str += IntToStr(I)+","
};
Str.SetLength(Str.Length -1);  // trim off last comma
Memo1->Add(Str);
  • `I < 5` would be a better condition than `1 < 5`. For this reason it's good to use better variable names than `I` – M.M Sep 16 '14 at 04:06