在 C# 中转置矩阵

csharpprogrammingserver side programming更新于 2025/9/25 14:52:17

矩阵的转置会将矩阵沿对角线翻转,使行元素位于列,列元素位于行。

例如 −

转置前的矩阵:

123
456
789

转置后的矩阵:
147
258
369

让我们看一个 C# 中实现矩阵转置的示例 −

示例

using System;
public class Demo {
   public static void Main() {
      int i, j, m, n;
      int[, ] arr1 = new int[30, 30];
      int[, ] arr2 = new int[30, 30];

      Console.Write("
输入矩阵的行数和列数:
");       Console.Write("输入的行数 = ");       m = Convert.ToInt32(Console.ReadLine());       Console.Write("输入的列数 = ");       n = Convert.ToInt32(Console.ReadLine());       Console.Write("设置矩阵中的元素...
");       for (i = 0; i < m; i++) {          for (j = 0; j < n; j++) {           Console.Write("
[{0}],[{1}] : ", i, j);             arr1[i, j] = Convert.ToInt32(Console.ReadLine());          }       }       Console.Write("

转置前的矩阵:
");       for (i = 0; i < m; i++) {          Console.Write("
");          for (j = 0; j < n; j++)          Console.Write("{0}\t", arr1[i, j]);       }       for (i = 0; i < m; i++) {          for (j = 0; j < n; j++) {             arr2[j, i] = arr1[i, j];          }       }       Console.Write("

转置后的矩阵:");       for (i = 0; i < m; i++) {          Console.Write("
");          for (j = 0; j < n; j++) {             Console.Write("{0}\t", arr2[i, j]);          }       }       Console.Write("

");    } }

运行上述程序将产生以下结果。此处,用户需要输入矩阵的行数、列数和元素个数。

输入矩阵的行数和列数:3 3
输入的行数 = 3
输入的列数 3
设置矩阵中的元素……

[0],[0] : 1
[0],[1] : 2
[0],[2] : 3
[1],[0] : 4
[1],[1] : 5
[1],[2] : 6
[2],[0] : 7
[2],[1] : 8
[2],[2] : 9

转置前矩阵:

123
456
789

转置后矩阵:
147
258
369

相关文章