我想用C ++调用一个函数。
check(T);
按顺序:
check(T);
check(T-1);
check(T+1);
check(T-2);
check(T+2);
我想循环播放,因为组合将来可能会增加。
答案 0 :(得分:1)
check(T);
for(int i=1; i<N; i++)
{
check(T-i);
check(T+i);
}
这是你想要的吗?
答案 1 :(得分:0)
这是一个演示程序,其中显示了一种方法
#include <iostream>
int main()
{
const int N = 10;
for ( int i = 0, j = 0; i < N; i += j ^= 1 )
{
std::cout << ( j == 0 ? i : -i ) << std::endl;
}
}
程序输出
0
-1
1
-2
2
-3
3
-4
4
-5
5
-6
6
-7
7
-8
8
-9
9
答案 2 :(得分:0)
如果要测试的组合可以用(索引)序列描述,则可以在函数中实现它。 对于上面的例子,这将是:
int sequence(int i)
{
if(i % 2 != 0)
return i - (i/2);
else
return -(i-(i/2));
}
check(T)
for(int i=1; i<4; i++)
{
check(T-sequence(i));
}
如果它们不是简单的可定义顺序,您可以将所有组合保存在数据结构(例如矢量)中,只需在for循环中遍历它。