#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL));
char message[14];
// Генерируем случайное 14-битное сообщение
for(int i=0; i<14; i++) {
message[i] = rand() % 2 + '0';
}
int index = 0;
// Разбиваем на группы по 3 бита
for(int i=0; i<14; i+=3) {
// Берем 3 бита
char bits[5];
bits[0] = message[i];
bits[1] = message[i+1];
bits[2] = message[i+2];
// Считаем бит четности
int parity = 0;
for(int j=0; j<3; j++) {
if(bits[j] == '1') parity++;
}
// Добавляем бит четности
if(parity % 2 == 0) {
bits[3] = '0';
} else {
bits[3] = '1';
}
// Проверка делимости на 3
int ones = 0;
int zeroes=0;
for(int j=0; j<3; j++) {
if(bits[j] == '1') ones++;
if(bits[j] == '0') zeroes++;
}
bits[4] = (ones % 3 == 0) ? '0' : '1';
bits[4] = (zeroes % 3 == 0) ? '0' : '1';
// Форматируем вывод
for(int j=0; j<3; j++) {
printf("%c", bits[j]);
}
for(int j=3; j<5; j++) {
printf("%c", bits[j]);
}
printf("\n");
}
return 0;
}
Соседние файлы в папке кейс