在给定迭代计数的情况下,如何检索double for循环的索引?

时间:2012-08-06 16:02:13

标签: c loops

让我们说我有一个双循环。

/*Just a double for loop
*/    
for(int i = 0; i<IMAX; i++){
 for(int j = 0; j<JMAX; j++){
   count++;
   recover_loop_indices(count,IMAX,JMAX); /*this is not real world code.Just to illustrate what I mean*/
 }
}

/*Just a double for loop */ for(int i = 0; i<IMAX; i++){ for(int j = 0; j<JMAX; j++){ count++; recover_loop_indices(count,IMAX,JMAX); /*this is not real world code.Just to illustrate what I mean*/ } }

我的问题恰恰是,countIMAX,是否有可能恢复唯一的循环索引i和j?

1 个答案:

答案 0 :(得分:3)

是的,基于计数:

i = floor(count / JMAX);
j = count % JMAX;

您根本不需要IMAX。实际上,这通常是指如何仅在流的宽度下从串行像素流重建图像。

编辑:

我假设您想在计数++之前恢复i和j 的值。要在count ++之后恢复它,请使用(count-1)。