#include #include char xor(char a, char b); main() { char a,b,c,d,e,na,nb,nc; char mess[18]; int i,j; a=b=c='0'; mess[0]='1'; mess[1]='0'; mess[2]='0'; mess[3]='1'; mess[4]='0'; mess[5]='1'; mess[6]='1'; mess[7]='1'; mess[8]='0'; mess[9]='1'; mess[10]='0'; mess[11]='0'; mess[12]='1'; mess[13]='0'; mess[14]='0'; mess[15]='0'; mess[16]='0'; mess[17]='0'; for (i=0;i<=10;i++) { d=xor(c,mess[i]); na=d; e=xor(c,a); nb=e; nc=b; a=na; b=nb; c=nc; printf("Ciclo %d: %c %c %c\n",i+1,a,b,c); } getch(); return 0; } char xor (char a, char b) { char c; if ((a=='1') && (b=='0')) c='1'; if ((a=='1') && (b=='1')) c='0'; if ((a=='0') && (b=='0')) c='0'; if ((a=='0') && (b=='1')) c='1'; return(c); }