【发布时间】:2014-03-24 00:53:57
【问题描述】:
如何在一个循环中遍历整个二维数组 例如
我想将对角线元素 push_back 到一个缓冲区中进行处理:2 到 2、3 到 3、4 到 4 我曾尝试在两个单独的循环中执行此操作,但之后我无法将它们一起处理。
示例二维数组:
0 1 2 3 4 5 6
1 * * * * * *
2 * * * * * *
3 * * * * * *
4 * * * * * *
5 * * * * * *
6 * * * * * *
因此,(0,1) 到 (1,0) 的缓冲区将是:网格中的一颗星
(0,2) 到 (2,0) 的缓冲区:两颗星
(0,3) 到 (3,0) 的缓冲区:三颗星
等等……
注意缓冲区是一个字符串。
【问题讨论】:
-
对不起,我不明白你的意思。你想要对角线元素,还是像你在这里提到的:“这些边界之间的所有元素”?
-
对角线元素。所以我推回(0,1)和(1,0)之间的对角线元素,然后推回(0,2)和(2,0)之间的对角线元素
-
请澄清。示例打算以 data[0][0] 作为左上角的起点,对吗?
-
在这种情况下,您可以在单个循环中使用
a[i][n-i]。 -
我更新了一些我的 cmets 和 post 人。我从左上角开始循环到右下角。
标签: c++ arrays multidimensional-array diagonal