diff --git a/colin22.c b/colin22.c index 8216d7d..ee73d2b 100644 --- a/colin22.c +++ b/colin22.c @@ -5,6 +5,7 @@ //D�finition d'une constante N de valeur 10 (2 pts) #define N 10 + #define __DEBUG__ //Prototypes des fonctions d�finies par apr�s (7 pts) FILE* OuvrirFichier (); @@ -129,7 +130,7 @@ char ChaineVersOctet(char chaine[9]) char masque = 1; //Boucle pour parcourir tous les �l�ments de l�octet, du bit de poids faible au //bit de poids fort (3 pts) - for (i=8; i>=0; i--) + for (i=7; i>=0; i--) { //Si l��l�ment i de chaine est le caract�re 1, positionner le bit //correspondant de la variable octet � 1, sinon le laisser � 0. (4 pts) @@ -144,21 +145,37 @@ char ChaineVersOctet(char chaine[9]) //La fonction LireDonnees re�oit en arguments un pointeur fichier permettant //de manipuler un fichier et un tableau tab dont chaque �l�ment est une donn�e -//cod�e sur 8 bits. Elle ne retourne aucune valeur. (3 pts) -void LireDonnees (FILE*fichier, char tab[N]) +//cod�e sur 8 bits. Elle ne retourne aucune valeur. (3 pts) G:\PROJET_FINAL_HTML\progra\colin22.txt +void LireDonnees (FILE *fichier, char *tab) { int i; char donnee[9]; + char *p; for(i=0; i=0; j--) { - if (tab[i] & m) - b[j]='1'; - else b[j]='0'; + if (tab[i-1] & m) + { + #ifdef __DEBUG__ + printf("DEBUG i%d j%d: DONNE tab[i] %c avec masque %x\n",i,j,tab[i], tab[i]&0xff&m); + #endif + b[j-1]='1'; + } + + else + { + #ifdef __DEBUG__ + printf("DEBUG i%d j%d: DONNE tab[i] %c avec masque %x\n",i,j,tab[i], tab[i]&0xff&m); + #endif + b[j-1]='0'; + } m<<=1; } - b[9]='\0'; - printf ("%s", b); + b[8]='\0'; + printf ("%s %c %c", b, b[0],b[7]); printf("\n"); } printf("\n"); @@ -220,7 +250,7 @@ int ParitePaire (char octet) masque <<= 1; } //Si compteur est impair retourner "faux", sinon retourner "vrai" (2 pts) - if (compteur %2 == 1) + if (compteur%2) return 0; else return 1; diff --git a/colin22.txt b/colin22.txt new file mode 100644 index 0000000..f2f83b8 --- /dev/null +++ b/colin22.txt @@ -0,0 +1,11 @@ +01100001 +01100010 +01100011 +01100100 +01100101 +01100110 +01100111 +01101000 +01101001 +01101011 +01101100