如何在一个循环中遍历整个二维数组例如
我想将对角线元素 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) 的缓冲区:三颗星
等等……
注意缓冲区是一个字符串。
如果您想获取所有对角线元素,for
循环看起来像这样:
for(unsigned int i=0;i<yourArrayWidth;i++)
yourSum += yourArray[i][i];
如果你想要从左上角到右下角的数字(所以“\”),或者:
for(unsigned int i=0;i<yourArrayWidth;i++)
yourSum += yourArray[yourArrayWidth-i][i];
如果你想要从右上角到左下角的数字(所以“/”)。
地点:
yourSum
是您在遍历之前初始化的一些缓冲区。
yourArrayWidth
是数组的宽度。
yourArray
是您示例中的二维数组,从 [0][0] 开始。
我是一名优秀的程序员,十分优秀!