C++ 对角元四维阵列

C++ 对角元四维阵列,c++,multidimensional-array,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语句,主要是行==列-3,它从技术上定义了45、02、98和3的位置。这里做错了什么?(阵列插入将从此处剪切。) 包含/ /旧版本的C++,而不是现代版本。 使用名

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

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语句,主要是
行==列-3
,它从技术上定义了45、02、98和3的位置。这里做错了什么?(阵列插入将从此处剪切。)


<代码>包含/ /旧版本的C++,而不是现代版本。 使用名称空间std; 用于(int行=0;行<4;行++){
对于(int列=0;列<代码> >包含/ /旧版本的C++,而不是现代的。 使用名称空间std; 用于(int行=0;行<4;行++) {
对于(int列=0;列),2维数组,其中维度为<代码> [ 4 ] [4 ] < /> > BTW <代码>行=列3/<代码>应为“代码>行=3”-列< /COD> <代码>我没有调试器< />代码>但是为什么?@ MaHIT谢谢!我看到它在哪里应用“为什么列”/ /旧版本的C++,而不是现代版本?这是一个奇怪的评论。你认为现代版本会有什么来代替这一行?
#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] << " ";
        }
    }
}
#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] << " ";
}
}
}