|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
17.11.2016, 11:52 | #1 (permalink) |
Member
Регистрация: 13.10.2016
Сообщений: 15
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Как сделать проверку?
Код:
Procedure shifr(); var i, n:integer; begin writeln('Введите текст: '); readln(s); for i := 0 to 255 do //Инициализация массива(счетчика) mass[i] := 0; for i := 1 to length(s) do //подсчет числа символов inc(mass[ord(s[i])]);//выдает код i-того символа n := 0; for i := 0 to 255 do if mass[i] <> 0 then begin//Формируем листья дерева inc(n); new(TMass[n]); TMass[n]^.N := Mass[i]; TMass[n]^.symbol := chr(i); TMass[n]^.Left := nil; TMass[n]^.Right := nil; end; Sort(TMass, N); //Формируем само дерево while n > 1 do begin new(p); p^.n := TMass[n]^.N + TMass[n - 1]^.N; p^.left := TMass[n - 1]; p^.right := TMass[n]; TMass[n - 1] := p; Dec(n); //Уменьшает значение n на 1 Sort(TMass, N); end; //Подсчитываем число бит для закодированного текста n:=0; for i:=0 to 255 do if mass[i]<>0 then n:=n+mass[i]*length(GetCode(p, chr(i), '')); Writeln('Число бит закодированного текста: ',n); g := ''; //Кодируем строку for i := 1 to length(s) do begin g:=g+GetCode(p, s[i], ''); end; Writeln('Закодированный текст: ', g); end; Код:
function GetCode(T: PTree; C: char; path: string): string;// Возвращает код Хоффманa begin if (T^.Left=nil) and (T^.Right=nil) and (T^.symbol=C) then result:=path else begin result:=''; if T^.left <> nil then result := GetCode(t^.left, C, path + '0'); if (result='') and (T^.right <> nil) then result := GetCode(t^.right, C, path + '1'); end; end; Код:
if (T^.Left=nil) and (T^.Right=nil) and (T^.symbol=C) then |
17.11.2016, 11:52 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Проблему решать намного легче, если все о ней узнать Невозможно сделать проверку жёсткого диска утилитами : Advanced System Care на проверку на проверку Log на проверку Как сделать полную проверку логического диска на вирусы |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|