我有一个2D数组:
int[,] twoArr= new int[2,10];
假设我在数组中的位置0,8并且用户输入他们想要获得当前位置的值+ 3.你是如何做到的?
我只知道我所处的位置,但我不知道用户输入了哪个值,他们可以输入1,2,3,4等等。
事情是我不知道如何从位置跳跃:
0,9 - 1,0 - 1,1 ...
答案 0 :(得分:1)
我认为您可以尝试以下方法:
int max_n = 2;
int max_m = 10;
int current_position_x = 0;
int current_position_y = 8;
current_position_y += 3; // here you add a shift to your current position
if (current_position_y >= max_m)
{
current_position_x += current_position_y / max_m;
current_position_y %= max_m;
}
在这种情况下,您将遍历数组为(0,0),(0,1)...(0,9),(1,0)......(1,9)
答案 1 :(得分:0)
回到所有阵列都是1维的“旧”时代,他们仍然是真的。
位置0,8 =行* 0 +列= 8
位置8 + 3 = 11, 所以row == 11 div(列数)[10] = 1 和列= 11%10 = 1