Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сжатие строки


Страницы:   1 2

SniZ ©   (2005-06-09 00:13:00) 

привет всем, подскижите как сжать строку, вернее есть набор символов в файле, ну типа вот:
uuuuuuuuuuuusssuuuuuuuuueeeeeennnnnuueeeeeee

затем нужно типа сжать это все в виде таком: (r)S, где r -количество символов, не меньшее 3, а S - символ, кароче нужно преобразовать эту строку в :
(12)u(3)s(9)u(6)e(5)nuu(7)e
а там где меньше трёх символов, просто оставлять, не трогать,
помогите плиззз


Defunct   (2005-06-10 16:45:00) [1]

> Суслик

Думай как хочешь, очевидное от этого неизменится.


Суслик   (2005-06-10 13:22:00) [2]


> [31] Defunct ©   (10.06.05 01:32)
> Помоему очевидно.


Не вижу ничего очевидного. Читай [34]. Я думаю схоже.


Alx2   (2005-06-10 09:55:00) [3]

>Anatoly Podgoretsky ©   (10.06.05 09:41) [34]

>Не надо путать дидактику и прочее.

Не согласен. Только как сочетать "дидактику и прочее" - не знаю :(


Anatoly Podgoretsky   (2005-06-10 09:41:00) [4]

Вопрос об эффективности или других форматах не стоит. Не надо путать дидактику и прочее.
Это задание на определение знаний учащего и развития навыков программирования в части разработки алгоритмов.
Задание должно быть выполнено самостоятельно и в соответствии с постановкой, кроме того желательно правильно, но не обязательно.


nikkie   (2005-06-10 02:55:00) [5]

см. [27]
поскольку обратного алгоритма "разжатия" не существует, то можно было сразу до 1 байта ужимать. или до нуля.


frame   (2005-06-10 01:34:00) [6]

В простонародии это называется RLE


Defunct   (2005-06-10 01:32:00) [7]

> Суслик

Помоему очевидно.
> не меньшее 3
более трех. (вот она "маленькая погрешность" всего то в знаке >= и > )

Что будет в результате "сжатия" такой строки:

"((("


Суслик   (2005-06-09 15:56:00) [8]


>  [29] -=XP=- ©   (09.06.05 15:47)


> В каком контексте, что-то я не пойму?
> Есть какие-то мысли? ;)

Мыслей нет. Но Юра просто так не говорит.


-=XP=-   (2005-06-09 15:47:00) [9]

я подумал, что он увидел логическую ошибку в задании.

В каком контексте, что-то я не пойму?
Есть какие-то мысли? ;)


Суслик   (2005-06-09 15:32:00) [10]


> [27] -=XP=- ©   (09.06.05 15:25)


я подумал, что он увидел логическую ошибку в задании.


-=XP=-   (2005-06-09 15:25:00) [11]

Я тут подумал, что ЮЗ увидел, что-то более тонкое.

Например, строка "Сожмите меня в (2) раза" ;)


Суслик   (2005-06-09 15:22:00) [12]


>  [24] -=XP=- ©   (09.06.05 15:18)


> Я не рискнул бы назвать это сжатием

  Да это понятно, что в некоторых случаях строка становится длиннее. Но заданию то соответсвтует. Зачем называть погрешностью, то что является особенностью задания.

  Я тут подумал, что ЮЗ увидел, что-то более тонкое.


-=XP=-   (2005-06-09 15:19:00) [13]

йййцццууу
(3)й(3)ц(3)у


P.S. Еще раз прошу прощения.


-=XP=-   (2005-06-09 15:18:00) [14]

Юр, чессо слово, не могу понять, что ты углядел в постановке задачи. Разъясни мне плиз?

Извините, что вмешиваюсь.

йййцццууу
даст
(3)й(3)ц(у)

Я не рискнул бы назвать это сжатием, а лучше заменил бы число 3 на 4.


-=XP=-   (2005-06-09 15:15:00) [15]

я б сделала так: просто подсчитать количество одинаковых букв подряд, если их больше 3 тогда записать в новую строку в скобках количество плюс прилепить сам символ, а если меньше трех, тогда просто переписать в ту новую строку.

Вот интересно, что получится в результате "упаковки" такой строки: "фффнаааикккчцццешшшгуууо".

:о)


Суслик   (2005-06-09 15:14:00) [16]


> [9] Юрий Зотов ©   (09.06.05 01:13)

> 2. Ваша постановка задачи содержит погрешность,


Юр, чессо слово, не могу понять, что ты углядел в постановке задачи. Разъясни мне плиз?


BFG9k   (2005-06-09 15:09:00) [17]


Юрий Зотов :
> 1. Преподаватель - не дурак.


Был бы не дурак , не стал бы работать преподом информатики :)


SniZ   (2005-06-09 14:22:00) [18]

всеравно спасибочки, я уже наколбасил 9 заданий, а вот на эту задачу уже мозгов вечером не хватало, но благодаря вам я сделал это! всем спасибо!


Alx2   (2005-06-09 09:27:00) [19]

>Юрий Зотов ©   (09.06.05 01:13)

Затраты по памяти ~ 2*n+a, по времени ~ 3*n+b где n - длина входа, "a" и "b" не зависят от n.

Конечно, пример учебный и наглядность - основное.

Но потом так все и останется, имхо.

Красота стоит жертв?


Просто Джо   (2005-06-09 03:29:00) [20]

МЕГАЛОЛ, ребята :)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо