у меня есть следующие сетки:Возврат местного квадрата из сетки в Haskell
[["a1","b1", "c1","d1"],
["a2","b2", "c2","d2"],
["a3","b3", "c3","d3"],
["a4","b4", "c4","d4"]]
и хотел бы извлечь диапазон значений в их «квадратах», так что я в конечном итоге со списком квадратных значений. Значения x являются горизонтальными, а значения y - вертикальными.
я следующая функция начала:
type Coordinate = (Int,Int)
return :: [[String]] -> Coordinate -> [String]
return grid (x,y) = .....
где (0,0) это верхний левый угол сетки. Используя вышеприведенную функцию, я хотел бы получить квадрат, чтобы получилось так (если мои координаты (2,0), (3,0), (2,1), (3,1)):
["c1","d1","c2","d2"]
Я пробовал некоторые методы, включая функцию map
, но вам нужно несколько советов о том, как действовать.
ли я понимаю правильно, что размер локальный квадрат всегда должен быть «n/2 * n/2', когда размер квадратов равен« n * n'? – phynfo
@phynfo думаю. Я почти уверен, что это правильно! – maclunian
Вы пытаетесь извлечь значения из сетки, не так ли? Итак, сетка не всегда будет в таком повторяющемся порядке? Потому что прямо сейчас мы могли преобразовать значения (x, y) в значения «число букв», просто подсчитав буквы алфавита соответствующим образом, не глядя вообще на сетку. – amindfv