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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2011, 18:45   #1
kikat
Пользователь
 
Регистрация: 05.01.2011
Сообщений: 11
По умолчанию Haskell Обыкновенные числа в бинарные

Привет!

Мне надо функцию, которая бы закодировать слова и функцию, которая потом раскодировала бы.

.т.е. IN: "BCD..." OUT:1011...

Я написала программу, которая кодирует букву в цифру.
IN: 'C' OUT: 3
IN: 'c' OUT: 3

lett2num :: Char -> Int
lett2num x
| (ord 'A' <= ord x) && (ord x <= ord 'Z') = (ord x - ord 'A') + 1
| (ord 'a' <= ord x) && (ord x <= ord 'z') = (ord x - ord 'a') +1



num2lett :: Int -> Char
num2lett n
| (n <= ord 'A') && (n <= ord 'Z') = chr(ord 'A'+ n - 1)
| (n <= ord 'a') && (n <= ord 'Z') = chr(ord 'A'+ n - 1)


И теперь у меня тупик. Я не знаю как обыкновенные числа закодировать в бинарные. Я предполагаю это сделать с mod , но я не знаю как написать функцию, чтобы мне из 5 выдавало 101, чтобы программа выдавала все остатки.


Помогите, пожалуйста.



ps.
Меня осенило

num2bin :: Int->[Int]
num2bin 0 = []
num2bin n
| n>=0 = n `mod` 2 : (num2bin( n `div` 2))

Но как мне теперь получить результат не в листе?? Я не хочу лист. если убрать

num2bin :: Int->Int
num2bin 0 = []
num2bin n
| n>=0 = n `mod` 2 : (num2bin( n `div` 2))

то второе действие неправильно. я не знаю на что его поменять

Последний раз редактировалось kikat; 13.01.2011 в 19:15.
kikat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Haskell Обыкновенные числа в бинарные kikat Помощь студентам 0 13.01.2011 02:12
Лабораторная работа по Haskell Alitar32 Помощь студентам 0 30.05.2010 23:42
Абстрагирование списков на Haskell Lakiii Помощь студентам 0 17.12.2009 15:00
Haskell Katech Свободное общение 5 12.07.2009 23:40
Haskell Анастасия52 Помощь студентам 0 05.05.2009 14:09