如何转置矩阵?
How to transpose a matrix?
我是 F# 的新手。
我想转置一个矩阵,我可以像在任何其他语言中一样用循环来做,但我想用输出循环来做。
我的矩阵声明:
let BuildEmptyBord:BordCell[][]=[|for i in 1..3->[|for i in 1..3->BordCell.Empty|]|]
所以请帮忙
对于作为锯齿状数组的矩阵,您可以使用 Array.init
函数,然后重新创建交换维度的矩阵,如下所示:
let transpose (matrix:_ [][]) =
if matrix.Length = 0 then failwith "Invalid matrix"
Array.init matrix.[0].Length (fun i ->
Array.init matrix.Length (fun j ->
matrix.[j].[i]))
我是 F# 的新手。
我想转置一个矩阵,我可以像在任何其他语言中一样用循环来做,但我想用输出循环来做。
我的矩阵声明:
let BuildEmptyBord:BordCell[][]=[|for i in 1..3->[|for i in 1..3->BordCell.Empty|]|]
所以请帮忙
对于作为锯齿状数组的矩阵,您可以使用 Array.init
函数,然后重新创建交换维度的矩阵,如下所示:
let transpose (matrix:_ [][]) =
if matrix.Length = 0 then failwith "Invalid matrix"
Array.init matrix.[0].Length (fun i ->
Array.init matrix.Length (fun j ->
matrix.[j].[i]))