surepic:
byte id has value from atoi conversion done manually (x-48); id is holding numbers from 0 to 4.
Then a reasonable way to reverse that operation is to add 48...
a[_length+0]= id + 48;
a[_length+1]='\0';
_length=strlen(a);
But, a better choice is to eliminate the magic number...
a[_length+0]= id + '0';
a[_length+1]='\0';
_length=strlen(a);