Re: Из Турции с любовью :)
От: Кодт Россия  
Дата: 05.03.06 00:38
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Дан рисунок, представленный ASCII кодами (. — белый, # — черный). Задача: На каждом из языков Java, C, Python, Haskell написать программу, делающую с рисунком следующее:


Лобовое решение для Хаскела — входную битмапу представить в виде массива пикселов, а выходную — в виде списка, который строится последовательно по строкам. Если надо, из списка снова строится массив, и т.д.
На операциях вырезания региона это может быть избыточно (строим массив всей картинки, а используем только часть). Значит, нужен фильтр, который отсекал бы лишнее от входного списка и строил массив только по результату.
То есть, картинку нужно хранить или в списочном представлении, или в массивном... и каждая функция пусть выбирает наиболее удобное, а если входная картинка неудобная, то сперва конвертирует.

О таких мелочах, как разложение функций на отдельно итерирование и отдельно преобразование координат и передачу одних функций в другие — просто молчу. List comprehensions могут рулить, кстати говоря...

Хм... сперва я думал, что задачка на тупое кодирование. А на самом деле из Хаскела можно много чего выжать.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.