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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2012, 23:07   #1
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию Архивация LZW

Добрый вечер! Подскажите пожалуйста, где я допустил ошибку. Нужно последовательность ABCABCABCABCABCABC записать в массив 'a' следующим образом A B C AB BC CA ABC BCA CAB, у меня немного не так заполняется массив, а именно A B C AB ABC BC BCA CA CAB. Что мне нужно подправить в приведенном коде?

Код:
  v:=0;
  v3:=0;
  for i:=1 to n do             //n=18
    begin
      for j:=1 to n do
        begin
          if s[i]=a[j] then       //s='ABCABCABCABCABCABC'
            v3:=1
        end;
      if v3=1 then
        repeat
          v2:=1;
          a[i]:=a[i]+s[i+v];
          if v=k then                //k=3
            v:=0;            
          inc(v);
          for jp:=1 to n do
            if a[i]<>a[jp] then
              v2:=v2+1
        until v2=n
      else
        a[i]:=s[i];
        v3:=0
    end;
Начинающий програм вне форума Ответить с цитированием
Старый 20.11.2012, 23:30   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А разве это алгоритм LZW?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.11.2012, 23:44   #3
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Это просто часть кода из алгоритма LZW которая у меня не получается. Может это все можно гораздо проще сделать, чем я наворотил?
Начинающий програм вне форума Ответить с цитированием
Старый 21.11.2012, 00:04   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну х.з... Смотря какой ЯВУ используешь.
Я к примеру использую библу zLib и не парюсь. Так же могу BZlib использовать если под Линух пишу. Но чтоб самому велосипед изобрести, как-то морока в голову не приходила.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.11.2012, 00:09   #5
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Приношу извинения, я не указал что реализовать нужно в Delphi
Начинающий програм вне форума Ответить с цитированием
Старый 21.11.2012, 00:11   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Обязательно реализовывать свое? Это лаба?
Просто если нет и если Делфа поновее то используй модуль zLib
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.11.2012, 00:11   #7
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Хотя бы укажите пожалуйста ошибку в моем коде.
Начинающий програм вне форума Ответить с цитированием
Старый 21.11.2012, 00:32   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Увы я не спец в алгоритмах, поэтому и предлагал готовенькое.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм сжатия LZW dollemika Помощь студентам 11 20.06.2012 07:40
LZW сжатие. SrgGld Общие вопросы C/C++ 1 19.12.2010 21:39
LZW C++ mephistophel Общие вопросы C/C++ 2 11.04.2010 23:55
алгоритм сжатия информации LZW на Java sagnio Общие вопросы по Java, Java SE, Kotlin 1 09.12.2009 21:11