Страница 4 из 5
Re: Кто лучше?

Добавлено:
06 фев 2010, 20:21
DPX-Infinity
нет. произвольное - из текста. я же говорю, парсер. разбор выражения.
Re: Кто лучше?

Добавлено:
06 фев 2010, 20:21
Zver
да я понял, щас чёнить заварганим...
Re: Кто лучше?

Добавлено:
06 фев 2010, 20:43
Zver
o.O ну нах. Давай чёнить проще...
Re: Кто лучше?

Добавлено:
06 фев 2010, 20:51
Кадет
2 последних поста убили наповал

Re: Кто лучше?

Добавлено:
06 фев 2010, 21:07
DPX-Infinity
ахахахахахаха)))) слабак)
- Код: Выделить всё • Развернуть
import Text.Parsec
import Text.Parsec.String
import Control.Monad
import Data.Either
main = forever $ getLine >>= return . check . parse aterm "stdin" >>= putStrLn
check :: (Show a) => Either ParseError a -> String
check = either show show
aterm = liftM2 (foldl op) mterm (many $ oop "+-" mterm)
where
op a ('+', t) = a + t
op a ('-', t) = a - t
mterm = liftM2 (foldl op) term (many $ oop "*/" term)
where
op a ('*', t) = a * t
op a ('/', t) = a `div` t
term = try number <|>
(char '-' >> term >>= return . negate) <|>
between (char '(') (char ')') aterm
oop s t = liftM2 (,) (oneOf s) t
number :: Parser Integer
number = do
s1 <- option '+' (char '+' <|> char '-')
let s = if s1 == '-' then "-" else ""
m <- many1 digit
return $ read (s++m)
в принципе можно короче, но мне лень) компилить надо ещё с расширением TupleSections

Re: Кто лучше?

Добавлено:
06 фев 2010, 21:22
DPX-Infinity
придумайте ктонить задачу, я не умею придумывать

Re: Кто лучше?

Добавлено:
06 фев 2010, 22:28
Zver
Йа умею

Задача - подсчитать кол-во каждых букв алфавита (и цифр) из данного текста.

Re: Кто лучше?

Добавлено:
06 фев 2010, 22:28
Zver
хахахахахаха)))) слабак)
а ты терь попробуй на пхп реализовать)
Re: Кто лучше?

Добавлено:
06 фев 2010, 22:39
Кадет
Задача:
имеется текстовый файл со словами, необходимо реализовать поиск слов на заданную букву (первую разумеется).
Re: Кто лучше?

Добавлено:
06 фев 2010, 22:40
Zver
У мя интересней
