小编tbo*_*otl的帖子

我如何在haskell中解决这个问题?

我得到了这个代码来制作转置矩阵,但它不能100%正常工作.

type Mat a = [[a]]

transpose' :: Eq a => Mat a -> Mat a
transpose' [] = []
transpose' (h:t) = primelem (h:t):transpose' (eliminate' (h:t))

primelem :: Mat a -> [a]
primelem [] = []
primelem [[x]] = [x] 
primelem ((x:xs):t) = x : primelem t

eliminate' :: Eq a => Mat a -> Mat a
eliminate' [] = []
eliminate' (h:t) = (delete (head h) h):eliminate' t

*Main> transpose' [[1,2,3],[0,4,5],[0,06]]

[[1,0,0],[2,4,6],[3,5*** Exception:(..)Non-exhaustive patterns in function primelem
Run Code Online (Sandbox Code Playgroud)

我想弄明白,但我真的不知道哪个案例丢失了.

haskell

-3
推荐指数
1
解决办法
79
查看次数

标签 统计

haskell ×1