Chuyển vị ma trận lật qua đường chéo chính: hàng thành cột, cột thành hàng.
Ví dụ:
Ma trận trước: 123 456 789 Ma trận sau: 147 258 369
Ví dụ 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("\nNhập số hàng và cột ma trận:\n");
Console.Write("Số hàng = ");
m = Convert.ToInt32(Console.ReadLine());
Console.Write("Số cột = ");
n = Convert.ToInt32(Console.ReadLine());
Console.Write("Nhập các phần tử ma trận...\n");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
Console.Write("\n [{0}],[{1}] : ", i, j);
arr1[i, j] = Convert.ToInt32(Console.ReadLine());
}
}
Console.Write("\n\nMa trận trước chuyển vị:\n");
for (i = 0; i < m; i++) {
Console.Write("\n");
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("\n\nMa trận sau chuyển vị: ");
for (i = 0; i < m; i++) {
Console.Write("\n");
for (j = 0; j < n; j++) {
Console.Write("{0}\t", arr2[i, j]);
}
}
Console.Write("\n\n");
}
}
Kết quả chạy chương trình (nhập ma trận 3x3):
Ma trận trước: 123 456 789 Ma trận sau: 147 258 369