Не по теме:
Буквально пару дней назад сдал эказмен по этому предмету
Сейчас реально некогда писать, если завтра до вечера никто не ответит, то помогу.
Добавлено через 21 час 1 минуту
Так получилось, что сегодня тоже некогда (сессия), но немного помогу.

Сообщение от
Лидия23
а). преобразовать заданное информационное слово 10101101011 из 11 двоичных цифр в двоичное слово кода Хемминга (15,11);
из условия имеем
n = 15 (общее число символов)
k = 11 (число информационных символов)
m = 15 - 11 = 4 (число контрольных символов).
в коде Хэмминга контрольные символы располагаются на местах

, где
i - целое число. Т.е. для n = 15 и m = 4 имеем контрольные символы на позициях 1, 2, 4, 8
запишем наше число 10101101011
- - 1 - 0 1 0 - 1 1 0 1 0 1 1 там, где прочерк будут контрольные символы.
составим уравнения: уравнения составляются следующим образом - берутся символы начиная с

по

через

(т.е. с первого по одному через один, потом со второго по два через два, далее с четвертого по четыре через четыре и т.д.).
а1 + а3 + а5 + а7 + а9 = 0
а2 + а3 + а6 + а7 + а10 + а11 + а14 + а15 = 0
а4 + а5 + а6 + а7 + а12 + а13 + а14 + а15 = 0
а8 + а9 + а10 + а11 + а12 + а13 + а14 + а15 = 0
где аN - биты нашего кода, отчет ведется слева на право и начинается с одного, а "+" означает сложение по модулю два (сумма по модулю 2 - это остаток от деления на 2)
выведем уравнения кодирования (просто переносим неизвестные символы в правую часть ур-я)
а1 = а3 + а5 + а7 + а9
а2 = а3 + а6 + а7 + а10 + а11 + а14 + а15
а4 = а5 + а6 + а7 + а12 + а13 + а14 + а15
а8 = а9 + а10 + а11 + а12 + а13 + а14 + а15
высчитаем неизвестные биты
а1 = 1 + 0 + 0 + 1 = 0
а2 = 1 + 1 + 0 + 1 + 0 + 1 + 1 = 1
а4 = 0 + 1 + 0 + 1 + 0 + 1 + 1 = 0
а8 = 1 + 1 + 0 + 1 + 0 + 1 + 1 = 1
теперь можем закодировать наше сообщение, подставив вместо прочерков подсчитанные биты
0 1 1 0 0 1 0 1 1 1 0 1 0 1 1
готово!

Сообщение от
Лидия23
б). дано двоичное слово 101111001011101 кода Хемминга (15,11). Проверить, была ли допущена в этом слове одиночная ошибка. Исправить одиночную ошибку, если она есть.
Код Хэмминга допускает поиск двойных ошибок либо поиск и исправление одиночной ошибки. Поверим условию задания и будем искать одиночную ошибку.
тут делается все, тоже самое, что выше, т.е. нам нужны ур-я. Они у нас уже есть
а1 + а3 + а5 + а7 + а9 = 0
а2 + а3 + а6 + а7 + а10 + а11 + а14 + а15 = 0
а4 + а5 + а6 + а7 + а12 + а13 + а14 + а15 = 0
а8 + а9 + а10 + а11 + а12 + а13 + а14 + а15 = 0
имея код 1 0 1 1 1 1 0 0 1 0 1 1 1 0 1 посчитаем ур-я
0
0
0
1
имеем синдром ошибки
S = 1000 (двоичное) = 8 (десятичное), т.е. имеем ошибку в 8 разряде (в коде Хэмминга синдром ошибки указывает на номер разряда с ошибкой, при этом отчет ведется с нуля справа на лево). Исправим ошибку
1 0 1 1 1 1
1 0 1 0 1 1 1 0 1
все!
Код писать некогда, но теперь имея решенное задание думаю это уже не проблема, любой с минимальными знаниями С++ сможет это сделать.