diff --git a/main.c b/main.c index 4a851d847d77e222239f99ed0c2383c55bdd88a2..3b6aa0d5e4c87a6bf2afead5a56ca2b4684a9645 100644 --- a/main.c +++ b/main.c @@ -17,7 +17,7 @@ int main(void) printf("----- IV. Restaurez la gloire matricielle de P -----\n\n"); printf("-- Q1 --\n\n"); - printf("Message : %s\n\tMessage encodé avec la matrice : %s\n\tMessage encodé avec le polynôme : %s\n\t%s\n\n", msg, encode(msg), polynomial_encode(msg), strcmp(encode(msg), polynomial_encode(msg)) == 0 ? "Bon résultat" : "Mauvais résultat"); + printf("Message : %s\n\tMessage 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 @@ -26,11 +26,12 @@ int main(void) printf("-- Q3 --\n\n"); char* codeword = polynomial_encode(msg); + char* false_codeword; printf("Codeword : %s\n", codeword); for(int i = 0; i < 8; i++) { - char* false_codeword = set_error(codeword, i); - printf("Erreur à la position %d : %s\t\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("\n"); @@ -38,8 +39,8 @@ int main(void) printf("\nCodeword : %s\n", codeword); for (int i = 0; i < 8; i++) { - char *false_codeword = set_error(codeword, i); - printf("Erreur à la position %d : %s\t\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("\n"); @@ -47,8 +48,10 @@ int main(void) printf("\nCodeword : %s\n", codeword); for (int i = 0; i < 8; i++) { - char *false_codeword = set_error(codeword, i); - printf("Erreur à la position %d : %s\t\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("\n\n"); + + free(false_codeword); } \ No newline at end of file