Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.92
KPun
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 29
#1

Метод Шеннона фано - C++

17.11.2009, 20:19. Просмотров 3511. Ответов 3
Метки нет (Все метки)

Помогите пожалуста реализовать самый простой способ этого алгоритма сжатия на С/С++

Добавлено через 14 минут
с задаными вероятностями a = 0.01 b=0.1 c=0.09 d=0.8
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2009, 20:19     Метод Шеннона фано
Посмотрите здесь:

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

Метод архивации Шеннона-Фано - C++
Не подскажите,может есть у кого исходник кода архивации(сжатия и восстановления) методом Шеннона-Фано на С++?

Метод Шеннона-Фано и контейнер Map - C++
Пишем лабораторную работу по кодированию - выпал метод Шеннона-Фано, и вторую неделю не получается исправить ошибку с...

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KPun
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 29
17.11.2009, 22:21  [ТС]     Метод Шеннона фано #2
никто не поможет?
KPun
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 29
18.11.2009, 10:05  [ТС]     Метод Шеннона фано #3
a.Kode[i]=(int*)realloc(a.Kode[i],(k+2)*sizeof(a.Kode[i])). Что делает данное выражение?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2009, 13:02     Метод Шеннона фано
Еще ссылки по теме:

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

Реализовать алгоритм Шеннона-Фано - C++
есть ли кого-то алгоритм шеннона-фано на c++ или java ? нужен код

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

Реализация алгоритма кодирования Шеннона-Фано - C++
задание: реализовать алгоритм кодирования Шеннона-Фано, ввести строку символов, на выходе получить таблицу"символ, вероятность, код...

Двоичный вывод (алгоритм Шеннона Фано) - C++
Здравствуйте! У меня вопрос по поводу реализации алгоритма Шеннона Фано. В соответствие с алгоритмом надо построить бинарное...

Сжатие методом Шеннона-Фано (Pascal -> C++) - C++
Есть код на pascal может кто-нибудь помочь перевести на с++ ? uses crt; var c:char; s,s1,s2:string; i,n,j,j1:byte; ...


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

Или воспользуйтесь поиском по форуму:
KPun
0 / 0 / 0
Регистрация: 17.11.2009
Сообщений: 29
23.11.2009, 13:02  [ТС]     Метод Шеннона фано #4
C++
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
void CKripto_1Dlg::Alf_Kode(int i,int j,int k)
{
    int n=i,m=j;//сохраняем внешние границы
    a.Sum1=a.Ver[i];
    a.Sum2=a.Ver[j];
    a.Kode[i]=(int*)realloc(a.Kode[i],(k+2)*sizeof(a.Kode[i]));//под очередные символы кода
    a.Kode[j]=(int*)realloc(a.Kode[j],sizeof(a.Kode[j])*(k+2));//
    a.Kode[i][0]=k+1;
    a.Kode[j][0]=k+1;
    a.Kode[i][k+1]=1;
    a.Kode[j][k+1]=0;
    while(i<j-1)
    {
        if(a.Sum1<=a.Sum2)
        {
            a.Sum1+=a.Ver[i+1];
            a.Kode[i+1]=(int*)realloc(a.Kode[i+1],sizeof(a.Kode[i+1])*(k+2));
            a.Kode[i+1][k+1]=1;
            a.Kode[i+1][0]=k+1;
            i++;
        }
        else
        {
            a.Sum2+=a.Ver[j-1];
            a.Kode[j-1]=(int*)realloc(a.Kode[j-1],sizeof(a.Kode[j-1])*(k+2));
            a.Kode[j-1][k+1]=0;
            a.Kode[j-1][0]=k+1;
            j--;
        }
    }
    int t=k;
    if(i-n>=1)
        Alf_Kode(n,i,k+1);
    if(m-j>=1)
        Alf_Kode(j,m,t+1);
}
Помогите разобрать хотябы эту часть кода
Yandex
Объявления
23.11.2009, 13:02     Метод Шеннона фано
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru