Форум программистов CodeGuru
20 Сентябрь 2018, 22:57:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите, пожалуйста, с авк(awk) скриптом  (Прочитано 19261 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Graffias
Новичок
*
Офлайн Офлайн

Сообщений: 2


Просмотр профиля
« : 09 Январь 2008, 15:21:57 »

ужно составить программку. Условия: составить программку, которая переводила бы содержащиеся в тексте цифры в двоичный код. Программка получает текст с цифрами, а возвращает тот же текст, только цифры в двоичной системе исчисления. Буду очень признательна  Не в себе
Заранее благодарю  Смущение
Записан
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #1 : 11 Январь 2008, 20:39:25 »

Как то так:

Код:
function bits2str(bits)
{
if(bits == 0)
return "0"

data = ""
mask = 1

for(; bits != 0; bits = rshift(bits, 1))
data = (and(bits, mask) ? "1" : "0") data

return data
}

{

str = $0;

strResult = "";

while(1)
{
pos = match(str, /[0-9]+/)

if(pos > 0)
{
strResult = strResult substr(str, 1, pos - 1) bits2str(strtonum(substr(str, pos, RLENGTH)))
str = substr(str, pos + RLENGTH)
}
else
break
}

print(strResult str)
}

Решение, возможно, не совсем элегантное, однако работает.
Проверял на awk под Alt Linux Master 2.4
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!