提问者:小点点

如何将Marix的后对角线的负元素向前移动


我有一个矩形矩阵:

int arr[3][4] = {1,2,-3,4,
                 5,-6,7,8,
                 9,1,2,3};

我需要把负项沿着后对角线向前移动

         1, 2, -, 4,
         5, - ,7 ,8,
Diagonal:-, 1, 2, 3 

像这样:

int arr[3][4] =  {1,2,9,4,
                 5,-3,7,8,
                 -6,1,2,3};

有可能做到这一点吗?我甚至不知道从什么开始。

如有任何答复,我将不胜感激


共1个答案

匿名用户

是的,有可能。

  • 您有3行4列。
  • 在行上循环
    • 对当前行中的列进行循环
      • 当前[行][列]中的值是否小于0?如果是,则将该值与[row+1][column-1]中的值交换。

      注意:行+1列-1可能超出边界,因此您需要在到达数组边界时添加用于换行的逻辑。