![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 03.07.2008
Сообщений: 5
|
![]()
В общем, это алгоритм Хаффмана.
Программа посимвольно считывает текст, переводит каждый символ в кодировку ASCII и записывает в массив [32..255]. Определяется вес символа (вероятность его появления). Т.к. массив сортировать нельзя я написал алгоритм сравнения for i := Low(ch) to High(ch) do //пробегаем массив if ch[i]<>0 then begin k:=k+1; //считает !=0 элементы ver:=round(ch[i]/sm*10000)/100; if ver<min0 then begin min0:=ver; pos:=i; end; Как реализовать нахождение второго по вероятности символа? Тот алгоритм, что писал я при равных вероятностях берет тот же элемент что и min0. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нахождение в массиве максимальной суммы элементов | byte916 | Microsoft Office Excel | 1 | 07.10.2009 13:03 |
Нахождение Мин И Макс элементов Массива не стандартным способом. | gree | Помощь студентам | 5 | 17.06.2009 20:57 |
Нахождение квадратов первых k элементов массива | JaZZ_XVIII | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 10.06.2009 01:21 |
Нахождение ненулевах элементов таблицы | Extreme | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 09.05.2009 16:18 |
Нахождение двух одинаковых элементов в массиве | Stas))) | Помощь студентам | 4 | 01.06.2007 12:23 |