Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2014, 21:04   #1
Optimist_ru
Новичок
Джуниор
 
Регистрация: 28.03.2014
Сообщений: 1
По умолчанию Вопрос по Haskell

Задача - разворот массива (или списка, неважно) на haskell

Вот мой код, но здесь ошибка(

Код:
revList :: [a] -> [a]
revList [] = []
revList xs = let z = tmp : xs 
                in (revList xs) ++ [z]
 
main :: IO ()
main = do
    c <- getLine
    putStrLn $ (revList c)

Подскажите пожалуйста как исправить код?

Последний раз редактировалось Optimist_ru; 28.03.2014 в 21:07.
Optimist_ru вне форума Ответить с цитированием
Старый 29.03.2014, 05:28   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Подскажите пожалуйста как исправить код?
Исправить? - никак. Надо написать новый.
Я не пишу на хаскель и даже синтаксис не знаю.
Но я вижу, что переменная tmp используется один раз. Скорее всего это не верно. Либо на ее месте надо поставить анонимную переменную, или тут ошибка.

Я вижу, что revlist принимает xs, я вижу, что выполняется рекурсивный вызов revList xs - это значит, что если дело дойдет до этой строки - то рекурсия будет вечной.

Ну мне так кажется, МБ я ошибаюсь, потому что синтаксиса не знаю.
rrrFer вне форума Ответить с цитированием
Старый 29.03.2014, 05:31   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

не уверен, что это будет работать (потому что хаскель я не знаю), но примерно так я бы написал

Код:
rev [] = []
rev (h:t) = rev t ++ [h]
99% это не будет работать, но суть-то по-любому отражает.
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Haskell KrotikDJ Помощь студентам 5 27.05.2013 20:49
Нужна по haskell KatrinOops Помощь студентам 0 28.05.2012 14:38
С++ & Haskell XZentus Свободное общение 0 24.03.2011 21:44
Haskell Katech Свободное общение 5 12.07.2009 23:40
Haskell Анастасия52 Помощь студентам 0 05.05.2009 14:09