在 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

