c ++逐步打印出数组

时间:2011-12-16 16:28:20

标签: c++-cli

我试图像这样逐步打印数组;

TractMultBox->Text = rows[0] + newline;
TractMultBox->Text += rows[1] + rows[0] + newline;
TractMultBox->Text += rows[2] + rows[1] + rows[0] + newline;

会产生这样的输出

3
43
543
但是,我可以用这段代码做得很好。它想使用for循环,这会使它更容易,因为我希望它输出所有数组,直到达到最大值。

3 个答案:

答案 0 :(得分:3)

我假设您想要连接而不是求和。

string text;
for (int i = 0; i < rows.count; ++i)
{
   text = rows[i] + text;
   TractMultBox->Text = text + newline;
}

用于更少的代码行。

string text = newline;
for (int i = 0; i < rows.count; ++i)
{
   TractMultBox->Text = (text = rows[i] + text);
}

但这有点难以阅读。

答案 1 :(得分:1)

像双循环一样:

for (int i = 0; i < maxNRows; ++i)
{
    for (int j = 0; j < i; ++j)
    {
        TractMultBox->Text += rows[j];
    }
    TractMultBox->Text += newline;
}

答案 2 :(得分:1)

听起来像for循环的工作确实可能是这样的:

#include <iostream>

int main()
{
    int rows[3] = {3, 4, 5};
    for (int i(0); i < 3; ++i)
    {
       for (int j(i); j >= 0; --j)
          std::cout << rows[j];
       std::cout << "\n";
    }
    std::cin.get();
    return 0;
}

如果行包含345,则会给出以下输出:

3
43
543

不确定这是否是您想要的,但您可以相应地调整循环。关键是要有2个for循环。

修改:已更改为可以播放的自包含示例