Программа строит линейно-групповой код, кодирует и декодирует строку и исправляет одиночную ошибку.
Для вычисления основных параметров кода задается либо количество информационных символов, либо количество информационных комбинаций. В нашем случае задано количество сообщений 𝑛 = 32. Подставим в формулу исходные данные и получим количество информационных разрядов 𝑛_и = 5. Число контрольных разрядов для кодов, которые позволяют определять одиночные и двойные и исправлять одиночные, вычислим по формуле 𝑛_𝑘1(2) = log2((𝑛_и + 1) + log2 = (𝑛_и + 1) = log2(6 + log2(6) ≈ 3,10182. Округляем до большего и получим 𝑛_к = 4. Длина кодовой комбинации в таком случае равна 𝑛 = 𝑛_и + 𝑛_к = 5 + 4 = 9.
На рисунке ниже приведено бинарное представление 32-буквенного русского алфавита, с количеством информационных разрядов равном 5.
После этого строится и выводится порождающая матрица, затем запрашивается строка для кодирования, производится кодирование, декодирование и выод на экран.