Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 20.05.2008
Сообщений: 20

Сжатие методом Шеннона-Фано (Pascal -> C++)

09.11.2010, 20:40. Показов 3831. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код на pascal
может кто-нибудь помочь перевести на с++ ?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
uses crt;
var
   c:char;
   s,s1,s2:string;
   i,n,j,j1:byte;
   a:array [1..255] of byte;
   str:array [1..255] of string[9];
   st:array [1..255] of string[100];
   f,f1,f2:text;
begin clrscr;
assign(f,'Cod.txt');assign(f1,'Bukv.txt');assign(f2,'1&0.txt');
rewrite(f);rewrite(f1);rewrite(f2);
writeln('Введите строку');readln(s);
s2:=s;
while length(s) <> 0 do
begin
s1:=s1+s[1];
 for i:=1 to length(s) do
  if (s1[length(s1)] = s[i])and(pos(s1[length(s1)],s) <> 0) then
  begin
  inc(n);delete(s,pos(s1[length(s1)],s),1);dec(i);
  end;
a[length(s1)]:=n;n:=0;
end;
 for j:=1 to 10 do
  for i:=1 to length(s1) do
  begin
   if (a[i] > a[i-1])and(i<>1) then
   begin
   n:=a[i];a[i]:=a[i-1];a[i-1]:=n;
   c:=s1[i];s1[i]:=s1[i-1];s1[i-1]:=c;
   end;
    if (a[i] < a[i+1])and(i<>0) then
    begin
    n:=a[i];a[i]:=a[i+1];a[i+1]:=n;
    c:=s1[i];s1[i]:=s1[i+1];s1[i+1]:=c;
    end;
   end;
    for i:=1 to length(s1) do
    st[i]:=s1[i];
   i:=length(s1);
    while length(s1) <> length(st[1]) do
    begin
     for n:=1 to length(st[i]) do
     begin
     j:=pos(st[i][n],s1);
      if a[i] > a[i-1] then str[j]:='1'+str[j]
      else str[j]:='0'+str[j];
     end;
      for n:=1 to length(st[i-1]) do
      begin
      j:=pos(st[i-1][n],s1);
       if a[i] > a[i-1] then str[j]:='0'+str[j]
        else str[j]:='1'+str[j];
      end;
     a[i-1]:=a[i]+a[i-1];a[i]:=0;
     st[i-1]:=st[i-1]+st[i];st[i]:='';dec(i);
  for j1:=i downto 1 do
  begin
   if (a[j1] > a[j1-1])and((j1-1) <> 0) then
   begin
   n:=a[j1];a[j1]:=a[j1-1];a[j1-1]:=n;
   s:=st[j1];st[j1]:=st[j1-1];st[j1-1]:=s;
   end;
  end;
    end;
 for i:=1 to length(s2) do
 begin
 write(f2,str[pos(s2[i],s1)],' ');
 write(str[pos(s2[i],s1)],' ');
 end;
  for i:=1 to length(s1) do
  begin
  write(f1,s1[i],' ');
  write(f,str[i],' ');
  end;
close(f);close(f1);close(f2);
end.
буду благодарен, если заодно поможете сделать представление не в байтовом, а в битовом виде

заранее спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2010, 20:40
Ответы с готовыми решениями:

Алгоритм сжатия методом Шеннона-Фано
Народ, нужна помощь в поиске кода реализующего алгоритм кодирования и декодирования сообщения методом Шеннона-Фано на Си. Заранее...

Кодирование Шеннона-Фано
Окей мы посчитали вероятности символов и прочие штуки.. Далее нужно создать таблицу уник. символов.. Сделали.. отсортировали... В...

Метод Шеннона-Фано
метод Шеннона-Фано, рассортировал вероятности по убыванию, а после не могу ничего сделать(( помогите плиз, там надо пополам делить и 0 или...

1
0 / 0 / 0
Регистрация: 20.05.2008
Сообщений: 20
12.11.2010, 08:03  [ТС]
помогите кто, плиз
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.11.2010, 08:03
Помогаю со студенческими работами здесь

Алгоритм Шеннона-Фано
Приветствую всех в этой теме. Создаю архиватор по методу Шеннона-Фано. И трудность возникла в программной реализации получения кодовых...

Кодирование Фано-Шеннона
Добрый день. Есть недочет в коде, цель закодировать и декодировать строку алгоритмом Фано-Шеннона. Проблема в том, что если кодировать...

Алгоритм Шеннона-Фано
Помогите, реализовать Алгоритм Шеннона-Фано на С ++, так чтобы мы вводили сроку из символов, а на выходе получали закодированную сроку из...

Алгоритм шеннона фано
Помогите реализовать алгоритм шеннона фано, курсовую скоро сдавать, а у меня ничего не готово, очень нужна помощь!!!!

Метод Шеннона фано
Помогите пожалуста реализовать самый простой способ этого алгоритма сжатия на С/С++ Добавлено через 14 минут с задаными ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru