Newer
Older
printf("\n----- II. Derrière certaines matrices génératrices... -----\n");
printf("Message : %s\nMessage encodé : %s\n\n", msg, encode(msg));
printf("Message encodé (sans erreur) : %s\nSyndrome : %s\n\n", encode(msg), decode(encode(msg))); // Le syndrome doit être 0000
printf("Message encodé (avec une erreur) : %s\nSyndrome : %s\n\n", set_error(encode(msg), 0), decode(set_error(encode(msg), 0))); // Le syndrome doit être 1000
char *c1 = "10011000", *c2 = "10001011";
printf("La distance de Hamming entre les codewords %s et %s est : %d\n\n", c1, c2, hamming_distance(c1, c2));
printf("-- Q1 --\n");
printf("Message : %s\nMessage encodé avec la matrice : %s\nMessage encodé avec le polynôme : %s\n%s\n\n", msg, encode(msg), polynomial_encode(msg), strcmp(encode(msg), polynomial_encode(msg)) == 0 ? "Bon résultat" : "Mauvais résultat");
printf("Message encodé (sans erreur) : %s\nSyndrome : %s\n\n", polynomial_encode(msg), polynomial_decode(polynomial_encode(msg))); // Le syndrome doit être 0000
printf("Message encodé (avec une erreur) : %s\nSyndrome : %s\n\n", set_error(polynomial_encode(msg), 0), polynomial_decode(set_error(polynomial_encode(msg), 0))); // Le syndrome doit être 1000
printf("Codeword : %s\t\tCodeword avec une erreur à la position %d : %s\n\n", encode(msg), 2, set_error(encode(msg), 2));
printf("-- Q3 --\n");
char *codeword = polynomial_encode(msg);
char *false_codeword;
false_codeword = set_error(codeword, i);
printf("Erreur à la position %d : %s\tC mod P : %s\n", i, false_codeword, polynomial_decode(false_codeword));
false_codeword = set_error(codeword, i);
printf("Erreur à la position %d : %s\tC mod P : %s\n", i, false_codeword, polynomial_decode(false_codeword));
false_codeword = set_error(codeword, i);
printf("Erreur à la position %d : %s\tC mod P: %s\n", i, false_codeword, polynomial_decode(false_codeword));
printf("-- Q5 --\n");
codeword = polynomial_encode(msg);
false_codeword = set_error(codeword, 1);
printf("Message : %s\nMessage encodé (sans erreur) : %s\nMessage encodé (avec erreur) : %s\nMessage corrigé : %s\n%s\n\n", msg, codeword, false_codeword, error_correction(false_codeword), strcmp(codeword, error_correction(codeword)) == 0 ? "Bon résultat" : "Mauvais résultat");