Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/63: Рейтинг темы: голосов - 63, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 16.03.2012
Сообщений: 8
1

Код Хэмминга

24.05.2012, 19:11. Просмотров 12874. Ответов 4
Метки нет (Все метки)


Возникла проблемка при написании программы для кодирования методом Хемминга (7,4) и после данного кодирования нужно заменить 1 на 101, а 0 на 010.
Имеется код данной программы
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
 int KX[4]
{
 for(k=1;k<n+1;k++)
{ S=0;
 for (l=1;l<m+1;l++)
 S+=A[k][l]*X[l]%2;
 Y[k]=S;
}
 
 KX[4];
 for(k=0;k<n/4;k++)
{
 for (l=0;l<4;l++)
 X[l]=KX[k*4+l];
 for (k1=0;k1<7;k1++)
 M=7*k*4/4;
{
 for (l1=0;l1<4;l1++)
 S+=A[k1][l1]*X[l];
 Y[k*7+k1]=S;
}}
 for (k=0;k<m;k++)
{
 if (Y[k]==1)
{
 Z[3*k]=1;
 Z[3*k+1]=0;
 Z[3*k+2]=0;
}
else
{
 Z[3*k]=0;
 Z[3*k+1]=1;
 Z[3*k+2]=0;
}
}
 m ;
 Z[m]=(Z[m]+1)%2;
}
Зачем нужны переменные к,n,l,A? И как правильно записать эти переменные в int.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2012, 19:11
Ответы с готовыми решениями:

Сокращение расстояния Хэмминга
Добрый день, уважаемые форумчане. Есть у меня следующая ситуация: имеем два массива одинаковой...

Найти кодовое слово β из кода Хэмминга для сообщения α=10110101
Найти кодовое слово β из кода Хэмминга для сообщения α=10110101. Заранее спасибо!!!

Код Хэмминга. Расписать по строкам что делает код
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Код Хэмминга
Всем привет, разбираю пример кода Хмминга, подскажите плз, что это за фрагменты void...

4
0 / 0 / 0
Регистрация: 16.03.2012
Сообщений: 8
25.05.2012, 23:25  [ТС] 2
Цитата Сообщение от As_us Посмотреть сообщение
Зачем нужны переменные к,n,l,A? И как правильно записать эти переменные в int.
с этим болие мение разобрался .

Помогите сделать ввод данных в поле Edit1 и вывод ответа в Label1.
0
0 / 0 / 0
Регистрация: 16.03.2012
Сообщений: 8
29.05.2012, 22:01  [ТС] 3
Помогите все с тем же Кодом Хемминга(7,4). Допустим ввожу 1101 ответ должен быть 1101001,а у меня чушь получается.

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
TForm1 *Form1;
   int KX[7],A[4][7],X[10],M[10],Y[7],n,k,k1,S,l,l1,m;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for(k=1;k<n+1;k++)
{
 S=0;
for (l=1;l<m+1;l++)
 S+=A[k][l]*X[l]%2;
 Y[k]=S;
 }
 KX[7];
for(k=0;k<4;k++)
{
for (l=0;l<4;l++)
     X[l]=KX[k*4+l];
for (k1=0;k1<7;k1++)
     M[7*k*4/4];
{
S=0;
for (l1=0;l1<4;l1++)
 S+=A[k1][l1]*X[l]%2;
 Y[k*7+k1]=S;
 Form1->Label1->Caption=Form1->Label1->Caption+Y[k1];
} }     }
0
Эксперт С++
8354 / 6101 / 610
Регистрация: 10.12.2010
Сообщений: 28,389
Записей в блоге: 29
29.05.2012, 23:55 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
//Только Кодирование
int _tmain(int argc, _TCHAR* argv[])
{
system("chcp 1251");
 
for(;;)
 {
 int d;
 cin>>d;
// Разложение числа по битам
 bool i4= d & 1<<0;
 bool i3= d & 1<<1;
 bool i2= d & 1<<2;
 bool i1= d & 1<<3;
 
 cout<<i1<<i2<<i3<<i4<<endl;
// Вычисляем последовательнось синдромов
 bool r1= i1^i2^i3;
 bool r2= i2^i3^i4;
 bool r3= i1^i2^i4;
 
 cout<<i1<<i2<<i3<<i4<<" "<<r1<<r2<<r3<<endl;
 }
 
system("pause");
return 0;
}
http://ru.wikipedia.org/wiki/Код_Хэмминга
1
0 / 0 / 0
Регистрация: 16.03.2012
Сообщений: 8
30.05.2012, 11:27  [ТС] 5
Цитата Сообщение от Avazart Посмотреть сообщение
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
//Только Кодирование
int _tmain(int argc, _TCHAR* argv[])
{
system("chcp 1251");
 
for(;;)
 {
 int d;
 cin>>d;
// Разложение числа по битам
 bool i4= d & 1<<0;
 bool i3= d & 1<<1;
 bool i2= d & 1<<2;
 bool i1= d & 1<<3;
 
 cout<<i1<<i2<<i3<<i4<<endl;
// Вычисляем последовательнось синдромов
 bool r1= i1^i2^i3;
 bool r2= i2^i3^i4;
 bool r3= i1^i2^i4;
 
 cout<<i1<<i2<<i3<<i4<<" "<<r1<<r2<<r3<<endl;
 }
 
system("pause");
return 0;
}
Спасибо конечно,но не мог бы ты проверить мой кусок исходника?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2012, 11:27

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

код Хэмминга
Добрый вечер. Есть такое задание: выберите произвольное число в диапазоне от 9 до 15. Запишите...

Код Хэмминга
Здравствуйте, помогите написать код Хэмминга на языке новичка, без векторов и т.д. сложного (через...

Код Хэмминга
Ахой, есть у меня вот такая задачка по кодам Хэмминга &quot;изобразите матрицу для 8 кодовых...

код Хэмминга
требуется написать программу, (кодер/декодер) код хэмминга (15,11) вводим ошибку срочно


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

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

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