首页 > 解决方案 > c#如果斜线上方或下方的所有数字都等于0,如何检查二维矩阵?

问题描述

我被要求编写一个程序来检查 6x6 的 2d,如果斜面上方或下方的所有数字都等于 0,到目前为止,我创建了一个简单的矩阵来帮助我弄清楚,但我陷入了困境,我没有确定要做什么..例如:

示例


到目前为止我的代码:(在条件下得到堆栈)

int[,] matrix = new int[6, 6]
            {
              {1,0,0,0,0,0},
              {0,2,0,0,0,0},
              {0,0,3,0,0,0},
              {0,0,0,4,0,0},
              {0,0,0,0,5,0},
              {0,0,0,0,0,6},
            };

        int row, col;
        int zeroabove = 0;
        int zerobelow = 0;

        for (row = 0; row < 6; row++)
        {
            for(col = 0; col < 6; col++)
            {
                if (row == 0 || col == 0)
                {
                  //idk what to put here  
                }
            }
        }

标签: c#matrix

解决方案


你应该使用这样的代码:

int row, col;
bool isZeroAbove = true;
bool isZeroBelow = true;

for (row = 0; row < 6 && (isZeroAbove || isZeroBelow); row++)
    for (col = 0; col < 6 && (isZeroAbove || isZeroBelow); col++)
        if (matrix[row, col] != 0)
            if (row > col)
                isZeroBelow = false;
            else if (row < col)
                isZeroAbove = false;

推荐阅读