Vous êtes sur la page 1sur 2

Code Gray

#include<stdio.h>

int CodeGray(int n) /*"n" devient le nombre binaire*/

if(!n)

return 0;

int a=n/10;

int b=n%10; /*b devient le reste lorsqu'on divise n par 10*/

int c=(a)%10; /*c devient le reste lorsqu'on divise a par 10*/

/*b et c seront des valeurs a comparer jusqu'a ce que a = 1*/

if((b && !c)||(!b && c))

/*Si b et c sont différents alors */

return (1 + 10*CodeGray(a));

/*Si b et c se ressemblent alors */

return (10*CodeGray(a));

int check(int m) /*"m" devient le nombre binaire*/

int i;

/*i devient le reste lorsqu'on divise le nombre binaire par 10*/

while(m>0)

i=m%10;

if(i!=0 && i!=1)

/*Si i n'est pas égal à 0 et/ou à 1, ca va afficher "Erreur!!" et vous allez relancer le programme*/

printf("Erreur!!\n");

break;
}

/*Au cas contraire*/

printf("Nombre Binaire: %d\n", m);

/*Affiche le nombre binaire*/

printf("Code Gray: %d", CodeGray(m));

/*Le Sous Programme "CodeGray" analyse le nombre binaire "m" et affiche le résultat*/

break;

int main ()

int bin;

printf("Entrer un nombre binaire\n");

scanf("%d", &bin);

check(bin); /*Ca vérifie si le nombre est binaire ou pas*/

return 0;

Vous aimerez peut-être aussi