#include <stdio.h>
int main()
{
int data[4];
int hamming[8]; // Index 0 is unused
printf("Enter 4 data bits (0 or 1):\n");
// Read 4 data bits
for (int i = 0; i < 4; i++)
{
scanf("%d", &data[i]);
}
// Place data bits
hamming[3] = data[0];
hamming[5] = data[1];
hamming[6] = data[2];
hamming[7] = data[3];
// Calculate parity bits (even parity)
hamming[1] = hamming[3] ^ hamming[5] ^ hamming[7];
hamming[2] = hamming[3] ^ hamming[6] ^ hamming[7];
hamming[4] = hamming[5] ^ hamming[6] ^ hamming[7];
// Display Hamming code
printf("\nHamming Code: ");
for (int i = 1; i <= 7; i++)
{
printf("%d ", hamming[i]);
}
printf("\n");
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpCnsKICAgIGludCBkYXRhWzRdOwogICAgaW50IGhhbW1pbmdbOF07ICAgLy8gSW5kZXggMCBpcyB1bnVzZWQKCiAgICBwcmludGYoIkVudGVyIDQgZGF0YSBiaXRzICgwIG9yIDEpOlxuIik7CgogICAgLy8gUmVhZCA0IGRhdGEgYml0cwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCA0OyBpKyspCiAgICB7CiAgICAgICAgc2NhbmYoIiVkIiwgJmRhdGFbaV0pOwogICAgfQoKICAgIC8vIFBsYWNlIGRhdGEgYml0cwogICAgaGFtbWluZ1szXSA9IGRhdGFbMF07CiAgICBoYW1taW5nWzVdID0gZGF0YVsxXTsKICAgIGhhbW1pbmdbNl0gPSBkYXRhWzJdOwogICAgaGFtbWluZ1s3XSA9IGRhdGFbM107CgogICAgLy8gQ2FsY3VsYXRlIHBhcml0eSBiaXRzIChldmVuIHBhcml0eSkKICAgIGhhbW1pbmdbMV0gPSBoYW1taW5nWzNdIF4gaGFtbWluZ1s1XSBeIGhhbW1pbmdbN107CiAgICBoYW1taW5nWzJdID0gaGFtbWluZ1szXSBeIGhhbW1pbmdbNl0gXiBoYW1taW5nWzddOwogICAgaGFtbWluZ1s0XSA9IGhhbW1pbmdbNV0gXiBoYW1taW5nWzZdIF4gaGFtbWluZ1s3XTsKCiAgICAvLyBEaXNwbGF5IEhhbW1pbmcgY29kZQogICAgcHJpbnRmKCJcbkhhbW1pbmcgQ29kZTogIik7CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSA3OyBpKyspCiAgICB7CiAgICAgICAgcHJpbnRmKCIlZCAiLCBoYW1taW5nW2ldKTsKICAgIH0KCiAgICBwcmludGYoIlxuIik7CgogICAgcmV0dXJuIDA7Cn0=