我有一个文件(points.txt)定义了一些笛卡尔坐标:
A 1.0 2.2
B 2.1 3.0
C 3.5 4.0
D 4.0 5.0
Run Code Online (Sandbox Code Playgroud)
我有第二个文件(routes.txt),其路由根据points.txt中的点定义.
route1 ACDB
route2 ABC
Run Code Online (Sandbox Code Playgroud)
我需要找到每条路线的长度.到目前为止,我计算了两点之间的距离,如下所示:
type Point = (String, Float, Float)
distance_points :: IO ()
distance_points = do s <- readFile "pontos.txt"
putStr "Fom: "
p1 <- getLine
putStr "To: "
p2 <- getLine
print ( distance (search_point p1 (map words (lines s))) (search_point p2 (map words (lines s))))
search_point :: String -> [[String]] -> Point
search_point pt ([p,c1,c2]:xs) = if pt == p then (p, …Run Code Online (Sandbox Code Playgroud) haskell ×1