【发布时间】:2021-02-04 05:33:49
【问题描述】:
我有一个如下所示的二维数组:
values = new int[11, 11] {
{ 00, 00, 00, 00, 00, 20, 20, 20, 20, 20, 20},
{ 00, 20, 20, 20, 00, 20, 20, 20, 20, 20, 20},
{ 00, 00, 20, 20, 00, 20, 20, 20, 20, 20, 20},
{ 20, 20, 20, 20, 00, 00, 00, 00, 00, 00, 20},
{ 20, 20, 20, 20, 20, 20, 20, 20, 20, 00, 20},
{ 20, 20, 20, 20, 20, 20, 20, 20, 20, 00, 20},
{ 20, 20, 20, 20, 20, 20, 00, 00, 00, 00, 20},
{ 20, 20, 20, 20, 20, 20, 00, 20, 20, 20, 20},
{ 20, 20, 20, 20, 20, 20, 00, 20, 20, 20, 20},
{ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00},
{ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00},
};
现在我需要将所有层向下移动 1,但所有行都需要保持不变。底部的层需要删除,顶部的层需要创建一个所有值都为 0 的新层。结果应如下所示:
values = new int[11, 11] {
{ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00},
{ 00, 00, 00, 00, 00, 20, 20, 20, 20, 20, 20},
{ 00, 20, 20, 20, 00, 20, 20, 20, 20, 20, 20},
{ 00, 00, 20, 20, 00, 20, 20, 20, 20, 20, 20},
{ 20, 20, 20, 20, 00, 00, 00, 00, 00, 00, 20},
{ 20, 20, 20, 20, 20, 20, 20, 20, 20, 00, 20},
{ 20, 20, 20, 20, 20, 20, 20, 20, 20, 00, 20},
{ 20, 20, 20, 20, 20, 20, 00, 00, 00, 00, 20},
{ 20, 20, 20, 20, 20, 20, 00, 20, 20, 20, 20},
{ 20, 20, 20, 20, 20, 20, 00, 20, 20, 20, 20},
{ 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00},
};
我尝试使用 for 循环编写一个函数来执行此操作。但没有成功。这是一种尝试:
for(int row = 11; row > 0; row--) {
for(int col = 0; col < 11; col++) {
targets[row, col] = targets[row + 1, col];
}
}
不幸的是,这是我唯一的尝试。 谁能帮我做这个或者有一个完成的功能来做这个?
感谢您的时间和帮助。
【问题讨论】:
-
您能否分享您编写的代码,以及如何没有成功?