我想通过向后递增来遍历数组中值的所有组合。
所以让我们有一个数组
int array[10] = {0,0,0,0,0,0,0,0,0,0};
我想这样增加它:{0,0,0,0,0,0,0,0,0,1} > {0,0,0,0,0,0,0,0,0,2 }...{p-1,p-1,p-1,p-1,p-1,p-1,p-1,p-1,p-1,p-1}。
例如较小的数组,p=3:{0,0,0}>{0,0,1}>{0,0,2}>{0,1,0}>{0,1,1}>{ 0,1,2}...{2,2,2}
数组可以sizeof(int)*m
很大,其中 1<=m<=10。
有人可以帮我解决这个问题吗?
编辑:抱歉,忘记了这个。
好吧,很抱歉混淆了,但我还有一个条件。
该数组不会采用那种形式。这将是这样的例子
int array[10] = {0,0,0,0,0,0,0,0,0,0};
int help[10] = {3,4,0,1,0,0,3,0,1,0};
我想得到数组[帮助[]!= 0]中的值组合,在这种情况下数组[0],数组[1],数组[3],数组[6],数组[8]所以->
int array[10] = {0,0,0,0,0,0,0,0,0,0};
int array[10] = {0,0,0,0,0,0,0,0,1,0};
int array[10] = {0,0,0,0,0,0,0,0,2,0};
int array[10] = {0,0,0,0,0,0,1,0,0,0};
int array[10] = {0,0,0,0,0,0,1,0,1,0};
int array[10] = {2,2,0,2,0,0,2,0,2,0};
p=3
类似 for() 循环的内容将变为 i=0,1,3,6,8,其中值为 i=help[i]!=0。