特定のポイントで最小距離((x1、x2)および(y1、y2)distance = abs(y2-y1)+ abs(x2-x1)を持つタプル(1つ以上)を見つけようとしました。例 :
リストは[(1,2)、(3,4)、(5,4)、(5,6)、(9,12)]になります
具体的なポイントは(xpos、ypos)=(4,4)です。
次に、関数は[(3,4)、(5,4)]を返すはずです。これを実装しようとしましたが、ある種の問題があり、ベースケースに関連していると思います。私を助けてくれる人はいますか?
disSolver xpos ypos coor = abs (xpos - (fst coor)) +abs(ypos-(snd coor))
closestTuple _ _ [] =[]
closestTuple xpos ypos (x:y:xs) = if (disSolver xpos ypos x)<= (disSolver xpos ypos y)
then [x] ++ closestTuple xpos ypos (xs)
else closestTuple xpos ypos (y:xs)
前もって感謝します !