let my_matrix1 = [[1;2];[3;4]];;
let my_matrix2 = [[4;7;8];[3;2;1]];;
我已經定義了兩個矩陣,所以我可以看到代碼是否正常工作。我想在Ocaml中創建一個程序,它將檢查一個矩陣是否包含在另一個矩陣中
我已經做了的元素:
let rec does_it_contain lis x =
if (lis = []) then false
else if ((List.hd lis) = x) then true
else does_it_contain (List.tl lis) x;;
let rec does_it matrix x =
if (matrix = []) then false
else if (does_it_contain (List.hd matrix) x = true) then true
else does_it (List.tl matrix) x;;
does_it my_matrix1 2;;
- bool = true
,並正在這個問題,但我不知道哪裏出了問題,當我試圖用矩陣來做到這一點(如果包含其他) :
let rec does_it_contain lis1 lis2 =
if (List.hd lis1 = []) then false
else if (List.hd lis1 = lis2) then true
else does_it_contain (List.tl lis1) lis2;;
let rec does_it matrix lis1 =
if (matrix = []) then false
else if (does_it_contain List. hd matrix List.hd lis1 = true) then true
else does_it (List.tl matrix) lis1;;
does_it my_matrix1 my_matrix2;;
請幫
不,你不明白我....我試圖創建一個函數,這兩個矩陣檢查矩陣A是否是矩陣B的子矩陣,如果是,則返回true:val does_it:int list list - > int list list - > bool = –
Amy24
你應該在描述你的問題時更加清楚。我們仍然不知道你的程序是否編譯。如果確實如此,它的觀察行爲是什麼,以及你在輸入/輸出方面的期望。我編輯了我的答案,給你一些提示。 – ghilesZ