对角元素四维数组

时间:2016-03-16 05:58:01

标签: c++ multidimensional-array

假设您有一个带有两位数字的四维数组:

12 22 34 45

33 01 02 05

04 98 21 13

03 21 45 11

我正在尝试在此脚本中列出对角线,但它无效。在这种情况下,对角线是:

12, 1, 21, 11, 45, 2, 98, 3.

我没有调试器,所以我无法弄清楚出了什么问题,但我感觉这是因为我写的if语句,主要是row == column - 3,它在技术上定义了45的位置, 02,98和3我相信。这里做错了什么? (从中切出阵列插入。)

#include <iostream> //Older version of C++, not modern.
using namespace std;

for (int row = 0; row < 4; row++){
    for (int column = 0; column <= 4; column++){
        if (row == column || row==column-3){
            cout << array[row][column] << " ";
        }
    }
}

1 个答案:

答案 0 :(得分:0)

#include <iostream> //Older version of C++, not modern.
using namespace std;

for (int row = 0; row < 4; row++)
{
for (int column = 0; column <= 4; column++)
{
if (row == column || row == 3 - column)  // Not column - 3
{
    cout << array[row][column] << " ";
}
}
}