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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2010, 11:20   #1
boomeer
Форумчанин
 
Аватар для boomeer
 
Регистрация: 04.08.2010
Сообщений: 110
По умолчанию Код Хаффмана

Пытаюсь организовать шифровку текста методом Хаффмана.
Но споткнулся на дереве, как его можно организовать?
Код:
uses crt;
var s:string;
    k,j,i:integer;
    m: array [1..26] of integer;
    mm: array [1..26] of integer;
begin
clrscr;
  for i:=1 to 26  do m[i]:=0;
   writeln('Vvedite stroky');
      readln(s);
      for i:=1 to length(s) do
	     begin if s[i]='a' then m[1]:=m[1]+1
	      else if s[i]='b' then m[2]:=m[2]+1
              else if s[i]='c' then m[3]:=m[3]+1
	      else if s[i]='d' then m[4]:=m[4]+1
              else if s[i]='e' then m[5]:=m[5]+1
              else if s[i]='f' then m[6]:=m[6]+1
	      else if s[i]='g' then m[7]:=m[7]+1
              else if s[i]='h' then m[8]:=m[8]+1
              else if s[i]='i' then m[9]:=m[9]+1
	      else if s[i]='j' then m[10]:=m[10]+1
              else if s[i]='k' then m[11]:=m[11]+1
              else if s[i]='l' then m[12]:=m[12]+1
	      else if s[i]='m' then m[13]:=m[13]+1
              else if s[i]='n' then m[14]:=m[14]+1
              else if s[i]='o' then m[15]:=m[15]+1
	      else if s[i]='p' then m[16]:=m[16]+1
              else if s[i]='q' then m[17]:=m[17]+1
              else if s[i]='r' then m[18]:=m[18]+1
	      else if s[i]='s' then m[19]:=m[19]+1
              else if s[i]='t' then m[20]:=m[20]+1
              else if s[i]='u' then m[21]:=m[21]+1
	      else if s[i]='v' then m[22]:=m[22]+1
              else if s[i]='w' then m[23]:=m[23]+1
              else if s[i]='x' then m[24]:=m[24]+1
	      else if s[i]='y' then m[25]:=m[25]+1
              else if s[i]='z' then m[26]:=m[26]+1
             end;

             for i:=1 to 26 do
             mm[i]:=m[i];

      for j:=1 to 25 do
      for i:=1 to 25 do
          if mm[i]<mm[i+1] then
          begin
          k:=mm[i];
          mm[i]:=mm[i+1]; mm[i+1]:=k;
          end;
end.
boomeer вне форума Ответить с цитированием
Старый 04.11.2010, 11:28   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Здесь:ссылка 1
Код во вложении..
Вложения
Тип файла: rar huffman.rar (3.9 Кб, 37 просмотров)
_-Re@l-_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Архиватор Хаффмана zetrix Софт 17 15.03.2014 13:45
Код Хаффмана Evgeny139 Помощь студентам 4 11.12.2010 09:33
Шифрование Хаффмана ZET78 Общие вопросы C/C++ 2 23.10.2010 20:02
Алгоритм Хаффмана 0479 Помощь студентам 1 15.09.2010 11:53