我试图像这样逐步打印数组;
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循环,这会使它更容易,因为我希望它输出所有数组,直到达到最大值。
答案 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循环。
修改:已更改为可以播放的自包含示例