Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
PinkPink
9 / 9 / 2
Регистрация: 10.05.2012
Сообщений: 279
#1

Шеннон-Фано - C++

12.12.2012, 19:59. Просмотров 666. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста разобраться. Понимаю смысл алгоритма Шеннона-Фано. У меня есть код этого алгоритма и мне нужно разобрать как он работает
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
37
38
39
40
41
42
43
44
45
46
47
void Schennon_Fano(int index1, int index2)
        {
            if(index1==index2) return;
            int i, C;
            double summ=0, p, summCopy=0;
            double vysche, nize;
            double ONO = SummVer(index1, index2);//суммируем все вер-ти от первого индекса до второго
            ONO = ONO/2;//делим на 2
            for (i = index1; i<=index2; i++)
            {
                p = Convert::ToDouble(dataGridView2->Rows[i]->Cells[1]->Value);//получаем вероятность и начинаем суммировать
                summ+=p;
                if(summ == ONO) //если не тот и не друго if то данной суммарной вероятности не достаточно чтобы делить, просто запоминаем p
                {
                    C = WrightColum(index1);
                    Nuli_Edinicy(index1, i, index2, C);
                    Schennon_Fano(index1, i);
                    Schennon_Fano(i+1, index2);
                    return;
                }
                if(summ > ONO) 
                {
                    vysche = ONO - summCopy;
                    nize = summ -ONO;
                    if(vysche<= nize) 
                    {
                        C = WrightColum(index1);
                        Nuli_Edinicy(index1, i-1, index2,C);
                        ONO = SummVer(index1, i-1);
                        Schennon_Fano(index1, i-1);
                        ONO = SummVer(i, index2);
                        Schennon_Fano(i, index2);
                    }
                    else
                    {
                        C = WrightColum(index1);
                        Nuli_Edinicy(index1, i, index2,C);
                        ONO = SummVer(index1, i);//снова получаем сумму вероятностей
                        Schennon_Fano(index1, i);
                        ONO = SummVer(i+1, index2);
                        Schennon_Fano(i+1, index2);
                    }
                    return;
                }
                summCopy = summ;
            }
        }
я не могу понять, что такое vysche и nize и для чего это нужно. если это важно то вот описание этого метода:
Алгоритм Шеннона-Фано.
1. Множество сообщений данной вероятностной схемы располагается в порядке убывания вероятностей.
2. Множество сообщений разбивается на части, приблизительно равные по суммарной вероятности. Первой части присваивается ноль, второй единица.
3. К каждой из частей применяются действия пункта 2.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 19:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шеннон-Фано (C++):

Ошибка в коде сжатия изображения методом Шеннона-Фано - C++ Builder
Пытался сделать программу которая сжимает графическою информацию методом Шеннона-Фано. Но при компиляции высвечивается сообщение &quot;Debugger...

Шеннон-Фано - C++
Помогите пожалуйста, дали курсовую, неделю не могу сделать уже. В кратце: 1. Посчитать сколько раз встречается каждый символ в...

Шеннон-Фано - C++
Вопрос будет о методе сжатия изображения(bmp) методом Шеннона-Фано. Допустим я записываю значение, вероятность появления и битовый код в...

Шеннон-Фано, зацикливается программа - C++
В чем косяк? почему то зацикливается и все, хз даже что делать, перепробывал все :( #include &lt;iostream&gt; #include &lt;string&gt; using...

Код шеннон или хаффмана в dev c++ - C++
всем добрый день; сможете помочь с кодом, надо написать код шеннон или хаффмана в dev c++, плиииз. по братский

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2012, 19:59
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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