我有一个二维数组,我需要将第一个对角线数转换为零。例如,我需要转换以下内容:
[ 1 2 3 ]
[ 5 9 5 ]
[ 3 2 1 ]
对此,意味着对角1 9 1
现在是0 0 0
:
[ 0 2 3 ]
[ 5 0 5 ]
[ 3 2 0 ]
如何在C#中有效地执行此操作?
答案 0 :(得分:3)
当你和X相等时,你所做的就是将网格中的点设置为零。 (1,1),(2,2)等;
int x = 4, y = 5;
int[,] array = new int[x,y]; // assume we initialize this with some values
for (int i = 0; i < x && i < y; i++ ) {
array[i,i] = 0;
}