【发布时间】:2009-04-28 16:59:37
【问题描述】:
我有一个二维数组,我需要将第一个对角线数字转换为零。例如,我需要转换以下内容:
[ 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# 中有效地做到这一点?
【问题讨论】:
-
请查看下一个答案!!。
我有一个二维数组,我需要将第一个对角线数字转换为零。例如,我需要转换以下内容:
[ 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# 中有效地做到这一点?
【问题讨论】:
您所做的只是在 X 和 Y 相等时将网格中的点设置为零。 (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;
}
【讨论】: