Question
Manchester DXC Automata Fix Questions AMCAT
void manchester(int size,int *arr)
{
bool result;
int *res=(int *)malloc(sizeof(int)*size);
int count=0;
for(int i=0;i<size;i++)
{
if(i==0)
result=(arr[i]==0);
else
result=(arr[i]==arr[i-1]);
res[i]=(result)?0:(++count);
}
for(int i=0;i<size;i++)
{
printf("%d",res[i]);
}
}
-------------------------------------------
solution:
void manchester(int size,int *arr)
{
int result;
int res[size];
int count=0;
for(int i=0;i<size;i++)
{
if(i==0)
result=(arr[i]==0);
else
result=(arr[i]==arr[i-1]);
res[i]=(result) ? (++count) : 0;
}
for(int i=0;i<size;i++)
{
printf("%d ",res[i]);
}
}