因此,在完成for循环后,我无法弄清楚如何使这段代码完成消息。每次循环后我都会继续这样做。我有多个for循环检查函数是否正在增加/减少/不减少/不增加。我只会发布增加的一个,因为他们都有同样的问题。
我试过这种方式:
for(i=0; i<n; i++)
{
if(val[i] < val[i+1])
{
cout << "Function is increasing!" << endl;
}
}
使用计数器,但我很确定我使用了反错误。
答案 0 :(得分:2)
使用简单的状态机:检查所有点是否验证了您的状况。如果他们这样做,打印一些东西。
bool increasing = true;
for (i=0 ; i<n ; i++)
{
increasing &= val[i] < val[i+1];
}
if (increasing)
{
std::cout << "Function is increasing!\n";
}
答案 1 :(得分:1)
你可以创建一个变量来保存函数的状态:
enum State {
Increasing,
Decreasing,
NonDecreasing,
NonIncreasing
} state;
并在循环中正确设置
for(i=0; i<n; i++)
{
if(val[i] < val[i+1])
{
state = State::Increasing;
}
}
switch(state) {
case Increasing:
std::cerr << "Increasing" << std::endl;
break;
case Decreasing:
...
}