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

Алгоритм Витерби - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заполнение двумерного массива без вложенных циклов http://www.cyberforum.ru/cpp-beginners/thread699949.html
Даны два числа n и m. Создайте двумерный массив int A, заполните его таблицей умножения A=i*j и выведите на экран. При этом нельзя использовать вложенные циклы, все заполнение массива должно производиться одним циклом, например, for(i=0;i<n*m;++i). Как такое можно реализовать? Нужно каким-то образом плясать от индекса, как мне кажется, но вот как?
C++ Выполнить кольцевой сдвиг элементов массива не понимаю как делать задание,туго идет. И вообще тяжело(( Помогите если можете)) Вот задание: Дан массив действительных чисел размером N и целое число К. Если в исходном массиве чисел больше чем К, то в исходном массиве выполнить кольцевой сдвиг его элементов так, чтобы первый максимальный элемент этого массива оказался на K-ом месте. Кольцевой сдвиг массива выполняется всеми его... http://www.cyberforum.ru/cpp-beginners/thread699942.html
C++ Если максимальный элемент массива Х1 больше максимального Х2, то заменить им все отрицательные элементы матриц
Вот условие:Вввести двумерные массивы Х1(n1*m1) и X2(n2*m2). если максимальный элемент массива Х1 больше максимального элемента массива Х2, то заменить им все отрицательные элементы матриц . В противном сллучае все положительные элементы.Массивы до и после преобразования вывести на экран . При решении реализовать процедуры ввода и вывода массивов Vvod2m (A,n,m ,name) Vivod(a,n,m,name ), а так же...
Зачем нужны обычные массивы, если есть динамические? C++
Всем привет! Вопрос в заголовке. Если динамический массив даёт те же и ещё больше функций и, при том, лучше обращается с памятью, зачем нужен обычный массив?
C++ Вызов массива в функции http://www.cyberforum.ru/cpp-beginners/thread699934.html
помогите пожалуйста. не получается вызвать массив подсчитанный в функции god. kol считает верно, и выводит в функции main. а массив "а" выводится не полностью, если задаю a (к примеру) то выводит реальное число заданное в файле, но если я уйду с первой строки и напишу к примеру a, то он выдаёт что то вроде 591737357. как правильно вызвать этот массив в функции main чтоб все числа выводились...
C++ Сможет ли пешка дойти до края доски Условие: На шахматном поле в произвольном порядке расставлены черные и белые пешки. Для выбранной пользователем пешки определить, сможет ли она дойти до края доски, если остальные фигуры останутся неподвижными. подробнее

Показать сообщение отдельно
vlad_light
4 / 4 / 0
Регистрация: 24.09.2012
Сообщений: 178
17.11.2012, 02:46     Алгоритм Витерби
Нужно реализовать алгоритм свёрточного кодирования и алгоритм декодирования на основе ММП.
Описание свёрточного алгоритма:
Для начала выбираем параметры кодирования. Они выбираются один раз и будут постоянными для всей программы.
http://www.cyberforum.ru/cgi-bin/latex.cgi?k - количество бит в сообщении, которое передаётся на регистр;
http://www.cyberforum.ru/cgi-bin/latex.cgi?n - количество бит в закодированном сообщении (http://www.cyberforum.ru/cgi-bin/latex.cgi?k<n);
http://www.cyberforum.ru/cgi-bin/latex.cgi?K - длина регистра;
http://www.cyberforum.ru/cgi-bin/latex.cgi?g:\{0,1\}^K\to \{0,1\}^n, g=g(k,n,K) - функция кодирования (которая зависит от предыдущих параметров);
http://www.cyberforum.ru/cgi-bin/latex.cgi?m\in \{0,1\}^N,m=m_1m_2...m_N - кодовое сообщение (http://www.cyberforum.ru/cgi-bin/latex.cgi?N может быть сколь угодно большим).
Суть метода (на пальцах):
для простоты положим http://www.cyberforum.ru/cgi-bin/latex.cgi?k=1, n=2, K=3. Тогда http://www.cyberforum.ru/cgi-bin/latex.cgi?g(x_1,x_2,x_3)=((x_1+x_2+x_3) mod 2,(x_1+x_3) mod 2) (функцию http://www.cyberforum.ru/cgi-bin/latex.cgi?g мы выбираем из таблички). Представим, что у нас есть лента длиной http://www.cyberforum.ru/cgi-bin/latex.cgi?K=3, заполненная нулями. Тогда http://www.cyberforum.ru/cgi-bin/latex.cgi?g(0,0,0)=(0+0+0,0+0)=(0,0). Далее мы берём первый символ нашего сообщения и "вталкиваем" его в начало ленты, а последний символ этой ленты "выталкиваем". Затем считаем http://www.cyberforum.ru/cgi-bin/latex.cgi?g(m_1,0,0)=(m_1,m_1) и проделываем эти шаги, пока не закончится сообщение. В конце "искуственно" вставляем нули до тех пор, пока вся лента не станет нулевой (вернётся в первоначальное состояние). Например, дано сообщение http://www.cyberforum.ru/cgi-bin/latex.cgi?1101. Тогда http://www.cyberforum.ru/cgi-bin/latex.cgi?g(1,0,0)=(1,1), g(1,1,0)=(0,1), g(0,1,1)=(0,1), g(1,0,1)=(0,0), g(0,1,0)=(1,0), g(0,0,1)=(1,1) (при следующей "вставе" получим нулевую последовательность). Таким образом мы закодировали http://www.cyberforum.ru/cgi-bin/latex.cgi?1101 как http://www.cyberforum.ru/cgi-bin/latex.cgi?11 01 01 00 10 11

Помогите, пожалуйста, с архитектурой, т.е. какой контейнер использовать для реализации, какие методы и т.п. Спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru