C阵列和不间断的列表

blo*_*ork 1 c arrays

/编辑:感谢您的帮助到目前为止,但是我没有任何解决方案来获取样本输入并提供样本输出.我的描述并不是最清楚的,对不起.

我有一个由二进制数据组成的数组.我想要做的是确定每个不间断的1或0段的长度.

说我有这样的数据:

0111010001110
Run Code Online (Sandbox Code Playgroud)

binaryArray我需要翻译成的数组中:

0100110
Run Code Online (Sandbox Code Playgroud)

存储在nwArray其中,0代表一个窄(小于3位长),并1表示宽(> 3位长).我不关心二进制值,而是关注每个组件的长度.我不确定这种解释是否有意义.

这就是我的意思; 它不起作用,我明白为什么,但我想不出一个好的解决方案.

for(x=0;x<1000;x++){
    if(binaryArray[x]==binaryArray[x+1]){
        count++;
        if(count>=3){
            nwArray[y]=1;
            y++;
            count=0;
        }
    }else{
        if(barcodeArray[x]){
            nwArray[y]=0;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Mik*_*keW 5

这样做吗?

int count = 0;
for (x=0; x<1000;x++)
{
    if (binaryArray[x] != binaryArray[x+1]) 
    {
        if (count < 3)
           nwArray[y]=0;
        else 
           nwArray[y]=1;

        y++;
        count = 0;
    }
    else
        count++;
}
Run Code Online (Sandbox Code Playgroud)